我通过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>
其中标识当前的TimeZone是AFT . 我看到的问题是没有普遍接受的时区缩写,所以我不能使用这些缩写并查找和偏移C#的TimeZoneInfo对象 .
是否有Wunderground的Time Zones缩写/名称/偏移列表,以便我可以将他们的时区映射到TimeZoneInfo对象,或者有更好的方法来获取此信息?我将需要使用TimeZoneInfo,以便我可以计算国际上不同地点的夏令时 .
1 回答
以下是您可以采取哪些措施来获取UTC偏移量的想法 .
使用XML输出中的
epoch
字段,该字段将是UNIX时间(自1970-01-01 00:00以来的秒数) . 这个时间是UTC /格林威治标准时间 . 然后,通过转换pretty
字段的内容,或使用日/月/年/小时/分钟/秒字段,确定已发布的本地时间与纪元时间之间的差异 . 这将为您提供UTC偏移量 . 还有一个isdst
字段告诉您该区域目前是否正在遵守DST .遗憾的是,我不知道时区缩写的完整列表,因此使用上述方法确定偏移量和DST可能是您的最佳选择 . 祝好运!