我在OS X中有时区:中欧夏令时(自动根据位置)。在模拟器上运行我的代码时,我得到了这些结果:
NSTimeZone *tz = [NSTimeZone localTimeZone]; // Gives me Local Time Zone (Europe/Warsaw (CEST) offset 7200 (Daylight))
NSString *tzString = [tz localizedName:NSTimeZoneNameStyleShortStandard
locale:[NSLocale currentLocale]]; // Gives me CET
与EDT / EST相同 - 当我在系统中将当前时间设置为EDT时 - >首选项然后适当的方法返回EST ..
我错过了什么吗?
答案 0 :(得分:4)
Standard
中的NSTimeZoneNameStyleShortStandard
具体表示时区的非DST名称。
如果您想要使用DST名称,具体取决于某个日期的DST状态,您可能必须使用-isDaylightSavingTimeForDate:
来决定NSTimeZoneNameStyleShortStandard
与NSTimeZoneNameStyleShortDaylightSaving
。< / p>
答案 1 :(得分:0)
Apple警告使用时区缩写。更好地使用已知的偏移来计算
+timeZoneForSecondsFromGMT:
使用属性-daylightSavingTime
检查日间保存状态。