gpt4 book ai didi

iPhone NS时区 : localTimeZone confusion

转载 作者:行者123 更新时间:2023-12-03 20:37:33 25 4
gpt4 key购买 nike

据我了解,调用

NSLog(@"Local Time Zone %@",[[NSTimeZone localTimeZone] name]);

为您提供设备的本地时区。它给我的是“US/Central”,但我在[NSTimeZone abbreviationDictionary]的缩写列表或时区列表中找不到它[NSTimeZoneknownTimeZoneNames] 中的名称。这是从哪里来的?我需要将当前设备时区传递给 Rails 应用程序,它可以理解诸如 “澳大利亚/悉尼”“美国/芝加哥” 之类的内容,但不能理解 “美国/中部”

我如何获取 localTimeZone 给我的内容并将其转换为 Rails 可以理解的字符串(即knownTimeZoneNames中的任何时区,应该是系统知道的所有时区名称关于?)

最佳答案

您可能使用 ActiveSupport::TimeWithZone 而不需要 tzinfo gem:

$ irb -rrubygems -ractivesupport -rtzinfo
>> Time.send(:get_zone, "US/Central").now
=> Tue, 17 Nov 2009 04:27:23 CST -06:00

如果您不需要 tzinfo,您只会获得时区的子集,这是相当无用的。

编辑:为了避免混淆,我使用私有(private) Time#get_zone API 的原因是因为这是在幕后使用的当您调用Time#zone=时。如果您不需要 tzinfo,则调用 Time.send(:get_zone, "US/Central") 将返回 nil

关于iPhone NS时区 : localTimeZone confusion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1736699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com