以下代码显示时区和时区。它可以工作,但在我的Mac(和模拟器)上将不同的结果返回到我真正的iPhone上。第一部分很好,因为它显示设备上设置的12或24小时时钟(这是我想要的)。不幸的是,时区是手机上的GMT偏移,而不是Mac上的本地时区名称。
问题:如何在iPhone上将时区显示为EST
?
let zone = TimeZone(identifier: "America/New_York")
let f1 = DateFormatter()
f1.timeZone = zone
f1.timeStyle = .short
let f2 = DateFormatter()
f2.timeZone = zone
f2.dateFormat = "z"
print("\(f1.string(from: Date())) \(f2.string(from: Date()))")
在Mac或iPhone模拟器上打印2:14 pm EST
。
在iPhone上打印14:14 GMT-5
。
iPhone和MacBook都设置为“英语(英国)”语言,区域设置为“英国”。