Objective-C 中的日期和时间


NSDate 和 NSDateFormatter 类提供日期和时间的功能。

NSDateFormatter 是一个帮助器类,可以轻松地将 NSDate 转换为 NSString,反之亦然。

下面显示了一个简单的示例,展示了 NSDate 到 NSString 以及返回到 NSDate 的转换。

#import <Foundation/Foundation.h>

int main() {
   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
   NSDate *date= [NSDate date];
   NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
   [dateFormatter setDateFormat:@"yyyy-MM-dd"];
   
   NSString *dateString = [dateFormatter stringFromDate:date];
   NSLog(@"Current date is %@",dateString);
   NSDate *newDate = [dateFormatter dateFromString:dateString];
   NSLog(@"NewDate: %@",newDate);
   
   [pool drain]
   return 0;
}

现在,当我们编译并运行该程序时,我们将得到以下结果。

2013-09-29 14:48:13.445 Date and time[870] Current date is 2013-09-29
2013-09-29 14:48:13.447 Date and time[870] NewDate: 2013-09-28 18:30:00 +0000

正如我们在上面的程序中看到的,我们借助 NSDate 获取当前时间。

NSDateFormatter 是负责转换格式的类。

可以根据可用数据更改日期格式。例如,当我们要在上面的例子中添加时间时,可以将日期格式改为@“yyyy-MM-dd:hh:mm:ss”

Objective_c_foundation_framework.htm