iOS NSDateFormatter 忽略时区
iOS NSDateFormatter ignoring timezone
我目前正在通过 json 从 Postgresql 数据库中提取 date/times 并将日期转换为 NSDate。我最初将日期保存在太平洋标准时间 1 月 15 日中午 12 点。有人可以看到我在以下过程中哪里出错了吗?似乎在 iOS 方面忽略了时间戳
最初 PostgreSql 中的日期如下所示:
2015-01-16 20:00:10+00
JSON 中的日期如下所示:
"start_time" = "2015-01-16T20:00:10.000Z";
当我使用以下方法转换此日期时:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z"];
我明白了
2015-01-17 04:00:10 +0000
其中还读到:
"start_time" = "2015-01-16 20:00:10 PST in the debugger
问题是您引用了时区格式说明符。你想要:
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
请注意 Z
.
前缺少引号
我目前正在通过 json 从 Postgresql 数据库中提取 date/times 并将日期转换为 NSDate。我最初将日期保存在太平洋标准时间 1 月 15 日中午 12 点。有人可以看到我在以下过程中哪里出错了吗?似乎在 iOS 方面忽略了时间戳
最初 PostgreSql 中的日期如下所示:
2015-01-16 20:00:10+00
JSON 中的日期如下所示:
"start_time" = "2015-01-16T20:00:10.000Z";
当我使用以下方法转换此日期时:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z"];
我明白了
2015-01-17 04:00:10 +0000
其中还读到:
"start_time" = "2015-01-16 20:00:10 PST in the debugger
问题是您引用了时区格式说明符。你想要:
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
请注意 Z
.