你的位置:首页 > 操作系统

[操作系统]OC基础(二)NSDate的使用


1、NSDate的基本用法:

//只要通过NSDate创建时间对象,对象中就保存了当前时间

        NSDate *time = [NSDate date];

        NSLog(@"date = %@",time);

输出的结果为: date = 2016-04-21 00:11:14 +0000   最后的+0000为时区(timeZone),且显示的时间为0时区的时间,若北京时间就+8小时

还有其它方法可cmd+数遍点击NSDate方法自学

 

2、NSTimeZone基本用法

        NSTimeZone *zone = [NSTimeZone localTimeZone];

        NSLog(@"zone = %@",zone);

输出结果为 zone = Local Time Zone (Asia/Xi'an (GMT+8) offset 28800)

        NSTimeZone *zone1 = [NSTimeZone systemTimeZone];

        NSLog(@"zone1 = %@",zone1);

输出结果为 zone1 = Asia/Xi'an (GMT+8) offset 28800 

注:后面的28800为8个小时,即东八区和0区时间相差28800秒

 

3、时间格式化(NSDate   —>  NSString )

//创建时间的格式化对象

        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];

        //设置时间的格式

        fmt.dateFormat = @"yyyy年MM月dd日 - hh时mm分ss秒  Z";  //此处也可以yyyy-MM-dd  hh-mm-ss,根据自己喜欢的方式设置格式

        //利用对象对时间进行格式化

        NSString *str = [fmt stringFromDate:time];

        NSLog(@"str = %@",str);

输出结果为:str = 20160421 - 082910秒  +0800

 

4、NSString   —>  NSDate

        NSString *str = @"2016年04月21日 08时36分15秒";

        NSDateFormatter *fmt1 = [[NSDateFormatter alloc] init];

        fmt1.dateFormat = @"yyyy年MM月dd日 hh时mm分ss秒";

        NSDate *date1 = [fmt1 dateFromString:str];

        NSLog(@"date1 = %@",date1);

显示的结果为: date1 = 2016-04-21 00:36:15 +0000