1
我一直在浏览Apple文档一段时间,但还没有看到从不同时区获取当前日期的方法。基本上,我需要在美国中部标准时间(CST)中获得当前日期。我很确定这是NSDate和NSDateFormatter的组合,通过设置时区。我相信这是一件容易的事情,但我一直无法找出最好的办法。Objective-C NSDate - 如何从不同时区获取当前日期
有什么我在这里失踪?
我一直在浏览Apple文档一段时间,但还没有看到从不同时区获取当前日期的方法。基本上,我需要在美国中部标准时间(CST)中获得当前日期。我很确定这是NSDate和NSDateFormatter的组合,通过设置时区。我相信这是一件容易的事情,但我一直无法找出最好的办法。Objective-C NSDate - 如何从不同时区获取当前日期
有什么我在这里失踪?
如果你只想显示当前时间给定区域你需要设置NSDateFormatter所在时区属性:
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];
如果你想包含时间,从给定区域需要设置默认时区前一个NSDate对象检索该日期:
NSDate* date = [NSDate date];
NSLog(@"%@", [date description]);
[NSTimeZone setDefaultTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];
NSDate* nDate = [NSDate date];
NSLog(@"%@", [nDate description]);
//output
2010-08-05 12:32:38 +0300
2010-08-05 04:32:38 -0500