iOS 8 欧洲/莫斯科时区问题

标签 ios nsdate ios8 nsdateformatter

这个奇怪的问题出现在 ios 8 版本中。这是示例代码:

NSDate * date = [NSDate dateWithTimeIntervalSince1970:1414785600];

dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ru_RU"]];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Europe/Moscow"]];
[dateFormatter setDateStyle:NSDateFormatterFullStyle];

[dateFormatter setDateFormat:@"MM"];
NSString * month = [dateFormatter stringFromDate: date];

日期是 2014-11-01 00:00:00 MSK(或 2014-10-31 20:00:00 +0000)

运行 ios 7,月份值为 11。但在 ios 8 上为 10。 任何想法出了什么问题? 谢谢。

附言。立即检查 Asia/Muscat 时区(+4,如 MSK)。一切正常,月份是 11。

最佳答案

[timezone secondsFromGMTForDate:date] 在给定日期的 iO​​s7 返回 14400,在 iOs8 返回 10800。它应该反射(reflect)俄罗斯政府(再次)所做的更改http://www.timeanddate.com/time/change/russia/moscow iOs7 还不知道。

关于iOS 8 欧洲/莫斯科时区问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25997774/

相关文章:

ios - POST请求ios的安全性

ios - 如何从 NSDate iOS 获取 UTC 时间

ios - 忽略 Xcode 6 中的特定警告

swift - 如何使用 Swift 以编程方式引用 UILabel 强引用?

ios - 在 Swift 中每 30 分钟发送一次位置更新

objective-c - 字符串末尾的额外空格

ios - 在 iOS IKEv2 VPN 配置中使用自定义端口?

ios - 创建自定义 VoiceOver 转子来导航 MKAnnotationViews?

ios - 来自 NSTimeZone 的时区城市的完整列表

ios - 使 NSDate 等于 NSString