NSDate见解

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
//    NSDate *date = [NSDate date];
//    
//    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    
    // yyyy 年
    // MM 月
    // dd 日
    // HH 24小时  hh 12小时
    // mm 分钟
    // ss 秒钟
    // Z 时区
    
//    formatter.dateFormat = @"yyyy年MM月dd日 HH时:mm分:ss秒 Z";
//    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

//    NSString *str = [formatter stringFromDate:date];
//    NSLog(@"str = %@", str);
    
//    NSDate *now = [NSDate date]; // 算的是现在的时间,即英国伦敦时间
//    NSLog(@"now = %@", now);
//    
//    // 获取当前所处的时区,即中国东8区,中间差8个小时
//    NSTimeZone *zone = [NSTimeZone systemTimeZone]; // 中国时区
//    // 获取当前时区和0时区的时间差
//    NSInteger seconds = [zone secondsFromGMTForDate:now]; // 28800秒
//    NSLog(@"seconds =  %lu", seconds);
//    
//    NSDate *newDate = [now dateByAddingTimeInterval:seconds]; // 追加的是秒数
//    NSLog(@"newDate = %@", newDate);
    
    // NSString -->  NSDate
    // 注意: 如果是从NSString格式化为NSDate,那么dateFormat的格式,必须和字符串中的时间格式保持一致,否则可能转换失败
    NSString *str = @"2016-01-12 08:15:54 +0000";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
    NSDate *date = [formatter dateFromString:str];
    NSLog(@"date = %@", date);
    
    return 0;
}
原文地址:https://www.cnblogs.com/521it/p/5124764.html