【发布时间】:2018-06-14 06:15:00
【问题描述】:
问题
iOS 模拟器 10.3.1 上显示的日期(对我而言)比 iOS 模拟器 11.2 和装有 iOS 11.2 的 iPhone 6 Plus(真实设备)上显示的日期晚一小时。
想要的结果
所有日期都应显示日期4 Jan 2018 14:32相对于结果下的日期。
代码
我已经设法使用以下代码重现了该错误:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "d MMM yyyy HH:mm"
label.text = dateFormatter.string(from: Date())
结果
这些是我在不同设备上看到的日期(挪威日期):
- 带有 iOS 11.2 的 iPhone 6 Plus(真实设备):
4 Jan 2018 14:32 - 带有 iOS 11.2 的 iPhone 5S(模拟器):
4 Jan 2018 14:32 - 带有 iOS 10.3.1 的 iPhone 5S(模拟器):
4 Jan 2018 13:32
【问题讨论】:
-
您对修复有什么想法吗?我已经将我的应用程序本地化为挪威语,因此任何需要添加空
Strings.strings文件的解决方案都与我无关。 -
您是否尝试过设置
dateFormatter的locale和timeZone? -
是的,我尝试了很多方法来设置这些属性,但没有成功。将在发布的答案中尝试第二种可能的解决方案。谢谢!
-
遇到同样的问题,stackoverflow.com/questions/51646888/…,你有什么解决办法吗?
标签: ios nsdateformatter