-2

我正在尝试获取当前日期:

NSLog(@"DATE NOW : %@", [NSDate date]);

但是当我执行它时,显示的日期和当前日期之间有一个小时的差异。

登录 http://data.imagup.com/12/1171458807.5637png

我找到了有关此类问题的主题,但没有一个给我答案。我该如何改变呢?

4

1 回答 1

3

您需要设置正确的时区。如您所见,默认值为 UTC。

您可以使用日期格式化程序来执行此操作。

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone * timezone = [NSTimeZone timeZoneWithName:@"Europe/Rome"];
[dateFormatter setTimeZone:timezone];
[dateFormatter setTimeStyle:NSDateFormatterFullStyle
 ];
[dateFormatter setDateStyle:NSDateFormatterFullStyle];    


NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]);

有关可用时区的列表,您可以使用

NSArray *timeZoneNames = [NSTimeZone knownTimeZoneNames];

或在此 Rails文档页面上查看常量。

于 2012-12-29T15:05:42.697 回答