gpt4 book ai didi

.net - 从纬度和经度获取 Windows TimeZoneInfo

转载 作者:行者123 更新时间:2023-12-03 23:57:51 24 4
gpt4 key购买 nike

在网络应用程序中,我让人们输入他们的地址,然后我使用 Google 的地理编码 API 获取他们的纬度和经度。接下来,我想得到他们的 Windows 时区名称 使用这些坐标,这样我就可以处理 夏令时 正确通过 .Net TimeZoneInfo对象。

我玩了几个可用的 时区网络服务 获取时区名称,例如:

  • http://www.askgeo.com/
  • http://www.geonames.org/
  • http://www.earthtools.org/

  • 问题是这些都只返回 GMT 的偏移量,或者 TZID(又名 Olson)时区名称,而不是 Windows 时区名称。

    以下链接中列出了 翻译 从 Windows 到 TZID 名称,但不是相反,因为缺少许多 TZID 名称。例如,如果我从第一步获得的 TZID 是“非洲/卢萨卡”,那么该表将找不到等效的 Windows 时区名称。
  • Windows -> TZID: http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html
  • TZID -> 视窗: ???

  • 所以我的问题是, 有谁知道可以通过纬度/经度返回 Windows 时区名称的服务 或者是否有完整的列表或翻译服务可以在两种命名格式之间进行转换?

    注:我已经在这里查看了所有类似的问题,但没有一个完全解决了这个问题。

    最佳答案

    一种解决方法是获取 Olson 名称,然后使用 Noda Time执行相关的时区计算,因为这是基于奥尔森的名字。

    我们还没有完全“完成”Noda Time,但我们离 1.0 版本越来越近了——如果你愿意,你总是可以将自己限制在时区部分,其余的在 .NET 中完成。这将使您与我们仍在整理的任何领域隔离开来,例如格式化、解析和为执行算术而公开的最佳 API。诚然,我希望 API 的其余部分能吸引您并吸引您……或者您想对它发表评论并告诉我们您想如何使用它 :)

    我希望添加 DateTimeDateTimeOffset在接下来的几天内转换到代码库中 - 如果您可以使用您需要的确切内容 ping 邮件列表,我可以尝试满足您的需求。

    抱歉,这只是一种解决方法,而不是完整的修复方法。我将研究在 Noda Time 中提供更多 Windows 区域名称映射信息 - 也使用 CLDR,但是通过 Olson 数据库中的更多信息,我们可以轻松找到等效项。

    关于.net - 从纬度和经度获取 Windows TimeZoneInfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7084246/

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