繁体   English   中英

NSTimeZone 从两个不同的时区返回相同的本地化名称

[英]NSTimeZone returns the same localized name from two different timeZones

我有一个应用程序来计算两个位置之间的时差,我只是意识到选择“欧洲/伦敦”和“格林威治标准时间”都返回相同的字符串“格林威治标准时间”

    buttonTimeZone.setTitle(timeZone?.localizedName(for: .standard, locale: locale), for: .normal)
    print("timeZone:\(String(describing: timeZone?.description))") 

按钮显示“格林威治标准时间”,但我相信格林威治标准时间和欧洲/伦敦有 1 小时的时差。

我添加了第二行打印,以确保我在测试时选择了两个不同的区域。 测试时间为2017年10月28日。

感谢您的输入!

我刚刚意识到伦敦正在使用夏令时,因为时钟刚好在今天变回来了。 我所要做的就是在 DST 时将样式从 .standard 更改为 .daylight Saving。

    var title = timeZone?.localizedName(for: .standard, locale: locale)
    if (timeZone?.isDaylightSavingTime(for: dateTimeComplete!))! {
        title = timeZone?.localizedName(for: .daylightSaving, locale: locale)
    }
    buttonTimeZone.setTitle(title, for: .normal)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM