当我从服务器获取博客文章时,服务器通过 JSON 将以下时间发送到我的 iOS 应用程序
"createdAt": "2013-05-11 05:54:07.589698"
但是,当它在 PostsViewController 中输出到屏幕时,它会显示 5:54 AM(比当地时间提前 4 小时)
但是当我创建一个帖子时,PostsViewController 会说一个像凌晨 1:54 的时间(正确)
因此,我进行了调查,并检查了 SQLite,并将 2001 格式的某个日期之后的时间秒数转换为 GMT 模式。来自服务器的帖子实际上比应有的时间提前了 4 小时。
基本上,并非所有 NSDate 在 Core Data 中都设置为 GMT,来自服务器的帖子出于某种原因设置为 GMT+4。
请注意,目前,我比格林威治标准时间晚 4 小时。
我所有的服务器时间都可以采用一种时间格式(格林威治标准时间)
我目前使用 Peter Hosey 的 ISO8601DateFormatter https://github.com/boredzo/iso-8601-date-formatter:
post.createdDate = [formatter dateFromString:[post_info objectForKey:@"createdAt"]];
那么,如何停止这种时差的双重抵消呢?