如何获得当地的日期和时间?

时间:2012-01-19 10:59:57

标签: objective-c nsdate

我正在使用NSDate获取当前时间和日期,但它根据GMT给出了日期和时间。有人知道如何获得当地时间吗?

提前致谢!

3 个答案:

答案 0 :(得分:1)

NSDate不了解时区。它始终将日期存储为绝对时刻,格林尼治标准时间。

使用NSDateFormatter获取本地(或任何其他时区)表示。

请参阅相关的编程指南:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html

答案 1 :(得分:1)

[dateFormatter setTimeZone:systemTimeZone];

使用上述方法使用日期格式化程序设置日期的时区。它会工作。将日期转换为字符串,设置格式和时区并转换回日期。

答案 2 :(得分:-1)

您好,我是从其他网站找到的

NSDate* sourceDate = [NSDate date];

NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];

NSInteger sourceGMTOffset = [sourceTimeZone secondsFromGMTForDate:sourceDate];
NSInteger destinationGMTOffset = [destinationTimeZone secondsFromGMTForDate:sourceDate];
NSTimeInterval interval = destinationGMTOffset - sourceGMTOffset;

NSDate* destinationDate = [[[NSDate alloc] initWithTimeInterval:interval sinceDate:sourceDate] autorelease];

网站链接为here