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.html