获取当前日期:NSDate * date = [NSDate date];//不过这个方式,获取的是UTC事件。
NSDate * date = [NSCalendarDate date];//获取本地时间。
获取昨天的日期:
NSDate * yesterday = [[NSCalendarDate date] dateByAddingInternalInterval:-24*60*60];
获取指定时间:
NSDate * nationalDate = [NSDate dateWithString:"2012-10-01 00:00:00 +0800"];
还有一个使用指定格式的时间字符串创建时间对象:
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:@"H"];//H表示+0800.相应的I表示+0900.Z表示-0100.
NSDate * nationalDate2 = [formatter dateFromString:@"2012-10-01 00:00:00"];
使用字符串创建时间的第三种方法是:
NSDate * date = [NSCalendarDate dateWithString:@"4 Mar 2012" calendarFormat:@"%d %b %Y"];//这种方法,需要记住比较特殊的日期格式化字符
将日期格式化成制定的字符串:
NSDateFormatter formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
[formatter setTimeZone:@"H"];
NSString * dateString = [formatter stringFromDate:date];//将会输出2012-03-04.
NSDate * earlierDate = [yesterday earlierDate:today];//获取两个日期中比较早的日期.返回yesterday
NSDate * laterDate = [tomorrow laterDate:today];//获取两个日期中比较晚的日期. 返回tomorrow
NSCalendarDate * cDate = [today dateWithCalendarFormat:@"%d %b %Y" timeZone:[NSTimeZone localTimeZone]];//根据format字符串,将当前日期转换成指定时区的calendarDate
timeInternvalSinceDate//这个方法用于实现两个日期相减。