我正试图通过以下方式获取当前日期:
NSLog(@"DATE NOW : %@", [NSDate date]);
但是当我执行它时,我在显示的日期和当前日期之间有一个小时的差异。
Log http://data.imagup.com/12/1171458807.5637png
我找到了类似问题的主题,但没有一个给我答案。 我怎么能改变它?
答案 0 :(得分: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 doc page上的常量。