我想获得我的wp7 App的不同时区的时间差。我试图将这两个时间转换为UTC。但我无法转换另一个区域的时间。我只能转换系统的时间。我正在使用timwzone获取输入时间(例如:2012-03-09,太平洋标准时间凌晨3:02)。请尽早给我解决方案。
答案 0 :(得分:0)
不幸的是,从当地时间开始是有问题的 - 因为当地时间可能不明确(甚至无效)。你需要决定在那种情况下该做什么。
一旦你有一个UTC时间,你可以在两个时区都拨打TimeZoneInfo.GetUtcOffset
,然后从另一个时区减去一个偏移量。
就原始转换为UTC而言......您可以使用“本地”GetUtcOffset
来呼叫DateTime
(我指的是DateTime
Unspecified
种{{1} }, not Local
),然后通过从本地时间减去偏移量并创建DateTime
种类来创建Utc
。请注意,如果本地时间不明确,GetUtcOffset
调用将采用标准时间。
当然,在您执行任何之前,您需要获取两个时区的相关TimeZoneInfo
个对象。你有那些吗?如果您可以确切地说出您的输入值和类型是什么,以及您希望如何处理歧义,我可能会提出一个方法来执行此操作...(我更愿意在我的Noda Time库中执行此操作,但这在Silverlight中还没有......)