现在的位置: 首页 > 综合 > 正文

objective-c 编程总结(第四篇)日期型类型操作

2012年10月25日 ⁄ 综合 ⁄ 共 1162字 ⁄ 字号 评论关闭

获取当前日期: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//这个方法用于实现两个日期相减。

 

抱歉!评论已关闭.