DateFormatter为iOS 11和iOS 10提供不同的日期

时间:2018-01-04 13:39:26

标签: ios nsdateformatter

问题

在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())

结果

这些是我在不同设备上看到的日期(挪威日期):

  • iPhone 6 Plus(真实设备)与iOS 11.2:4 Jan 2018 14:32
  • iPhone 5S(模拟器)w / iOS 11.2:4 Jan 2018 14:32
  • iPhone 5S(模拟器)w / iOS 10.3.1:4 Jan 2018 13:32

1 个答案:

答案 0 :(得分:0)

试试这个(设置为本地):

formatter.timeZone = TimeZone.current

或者这(设置系统):

formatter.timeZone = TimeZone.ReferenceType.system