为我的wp7应用程序获取不同时区的时间之间的时差

时间:2012-03-09 12:39:15

标签: c# windows-phone-7

我想获得我的wp7 App的不同时区的时间差。我试图将这两个时间转换为UTC。但我无法转换另一个区域的时间。我只能转换系统的时间。我正在使用timwzone获取输入时间(例如:2012-03-09,太平洋标准时间凌晨3:02)。请尽早给我解决方案。

1 个答案:

答案 0 :(得分:0)

不幸的是,从当地时间开始是有问题的 - 因为当地时间可能不明确(甚至无效)。你需要决定在那种情况下该做什么。

一旦你有一个UTC时间,你可以在两个时区都拨打TimeZoneInfo.GetUtcOffset,然后从另一个时区减去一个偏移量。

就原始转换为UTC而言......您可以使用“本地”GetUtcOffset来呼叫DateTime(我指的是DateTime Unspecified种{{1} }, not Local),然后通过从本地时间减去偏移量并创建DateTime种类来创建Utc。请注意,如果本地时间不明确,GetUtcOffset调用将采用标准时间。

当然,在您执行任何之前,您需要获取两个时区的相关TimeZoneInfo个对象。你有那些吗?如果您可以确切地说出您的输入值和类型是什么,以及您希望如何处理歧义,我可能会提出一个方法来执行此操作...(我更愿意在我的Noda Time库中执行此操作,但这在Silverlight中还没有......)