在iOS开发中有时候会需要使用到日期或者时间,苹果也为开发者们提供了一个日期类以供使用,这就是NSDate。NSDate对象用来表示一个具体的时间点,它存储的是世界标准时间,所以在使用的时候可能会需要根据不同的时区将时间转换为本地时间。
1.NSDate的创建
// 获得一个当前时间的对象
NSDate*date1=[NSDatedate];
NSLog(@"date1 = %@",date1);
// 获得一个比参数表示的时间晚3秒的时间对象
NSDate*date2=[NSDatedateWithTimeInterval:3sinceDate:date1];
NSLog(@"date2 = %@",date2);
// 获得一个比当前时间晚3秒的时间对象
NSDate*date3=[NSDatedateWithTimeIntervalSinceNow:3];
NSLog(@"date3 = %@",date3);
// 获得一个比1970-1-1 00:00:00表示的时间晚60秒的时间对象
NSDate*date4=[NSDatedateWithTimeIntervalSince1970:60];
NSLog(@"date4 = %@",date4);
// 随机返回一个比较遥远的未来时间
NSDate*date5=[NSDatedistantFuture];
NSLog(@"date5 = %@",date5);
// 随机返回一个比较遥远的过去时间
NSDate*date6=[NSDatedistantPast];
NSLog(@"date6 = %@",date6);
/*将当前世界标准时间转换成本地时间*/
// 获取系统当前时区
NSTimeZone*zone=[NSTimeZonesystemTimeZone];
// 获取当前时区与格林尼治时间的间隔
NSIntegerinterval=[zone secondsFromGMTForDate:date1];
// 获取本地时间
NSDate*localDate=[NSDatedateWithTimeIntervalSinceNow:interval];
NSLog(@"localDate = %@",localDate);