1

我正在通过 Wunderground 的 XML API 使用国际天气预报:

http://wiki.wunderground.com/index.php/API_-_XML

例如,查看阿富汗喀布尔的输出:

http://api.wunderground.com/auto/wui/geo/ForecastXML/index.xml?query=OAKB

我注意到没有 UTC 偏移量。我能看到的最接近的是:

<tz_short>AFT</tz_short>

标识当前时区是 AFT。我看到的问题是没有普遍接受的时区缩写,所以我不能使用这些缩写并从 C# 的 TimeZoneInfo 对象中查找和偏移。

是否有 Wunderground 的时区缩写/名称/偏移量列表,以便我可以将它们的时区映射到 TimeZoneInfo 对象,或者是否有更好的方法来获取此信息?我将需要使用 TimeZoneInfo,以便计算国际上不同地点的夏令时。

4

1 回答 1

2

以下是获取 UTC 偏移量的方法。

使用epochXML 输出中的字段,它将采用 UNIX 时间(自 1970-01-01 00:00 以来的秒数)。这个时间将是 UTC/GMT。然后,或者通过转换pretty字段的内容,或者通过使用日/月/年/小时/分钟/秒字段,确定发布的本地时间和纪元时间之间的差异。这将为您提供 UTC 偏移量。还有一个isdst字段可以告诉您该区域目前是否遵守 DST。

不幸的是,我不知道时区缩写的完整列表,因此使用上述方法确定偏移量和 DST 可能是您的最佳选择。祝你好运!

于 2010-03-24T17:31:54.600 回答