【发布时间】:2019-10-29 08:32:57
【问题描述】:
UIKit 提供 TimeZone.secondsFromGMT() 方法,它简单地返回距离 GMT 时间的秒数。
截至 10 月 27 日,该函数返回的值不正确,当时欧洲已离开夏令时 (CEST-> CET)。目前返回 3600,在 10 月 27 日之前,正确返回 7200。
此函数应始终返回与当前时区无关的常量值 7200(夏令时更改时区,而不是时区本身)。即使欧洲在冬季进入 CET 时间,CEST 时间也没有改变(欧洲现在不“使用”它)。
这种行为会破坏我的单元测试,因此会破坏应用程序的正确性。
实际上这应该总是通过:
让timeZone = TimeZone(缩写:“CEST”)! XCTAssertTrue(timeZone.secondsFromGMT() == 7200)
我是不是想错了?
【问题讨论】:
-
有点无关紧要,但我觉得值得说:
TimeZone不在UIKit,它在Foundation。
标签: swift uikit foundation