iOS 10时区格式问题,日期创建为timeIntervalSince1970

时间:2017-02-19 12:11:37

标签: ios swift timezone dateformatter

在我提交雷达之前,如果我没有遗漏某些东西(并从中学习),我想再次检查。这是我在Swift 3游乐场的测试代码(代码在我的应用程序中表现相同)。我目前正在时区工作"欧洲/里斯本"二月与格林威治标准时间相同。

TimeZone(secondsFromGMT: TimeZone.current.secondsFromGMT())

除非我将时区设置为

,否则格式化的时间会减少一个小时
ListView

这是预期的行为吗?谢谢!

1 个答案:

答案 0 :(得分:2)

结果实际上是正确的,因为在1970年的欧洲/里斯本"时区是" UTC + 1":

let tz = TimeZone(identifier: "Europe/Lisbon")!

print(tz.secondsFromGMT())
// Output: 0

print(tz.secondsFromGMT(for: Date(timeIntervalSince1970: 0)))
// Output: 3600

因此,格林威治标准时间1970年1月1日午夜"早上好一点钟 在里斯本。

您可以查找时区和夏令时 过去和未来几年https://www.timeanddate.com/time/zone/portugal/lisbon