【问题标题】:How can I get timezone of a specific country?如何获取特定国家/地区的时区?
【发布时间】:2025-11-23 15:30:01
【问题描述】:

如何获取特定城市/国家/地区的时区,我有该国家/地区的纬度和经度。我可以用TimeZoneInfo 类做到这一点吗?

【问题讨论】:

    标签: windows-phone-7 timezone


    【解决方案1】:

    不,据我所知,TimeZoneInfo 无法做到这一点。

    Geonames Web 服务将为您提供时区,但它会为您提供 zoneinfo 名称而不是 Windows ID。您可以使用CLDR 信息来提供两者之间的映射——这就是我们为Noda Time 所做的事情。 (您将地图信息嵌入到您的应用程序中;这相当简单。)看起来您也可以下载 Geonames 数据,但我希望您需要做大量工作才能在设备上使用它。

    当然,如果您有兴趣直接使用 Noda Time,我很乐意听到您的要求。它还没有完全投入生产,但是我们拥有的用例越多,我们就能越快适当地设计 API :)

    【讨论】:

    • 我认为第一个链接(geonames 网络服务)绰绰有余,谢谢,但我仍然想知道是否有另一种方法,而不使用网络服务
    • @user836252:正如我所说,您可以自己从 Geonames 下载数据 - 但您需要弄清楚如何从 C# 中使用它。