如何在Silverlight中的另一个时区获取本地时间

时间:2013-03-22 17:49:15

标签: c# silverlight utc

在Silverlight应用中,如果我知道时区ID,我该如何获得该时区的当前UTC偏移量或当前时间?

如果我在东海岸,我想知道当前的UTC偏移或亚利桑那州的当前时间,我怎么能在Silverlight中做到这一点?

这在Silverlight中不可用:

var AZTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(SomeDatetime, "US Mountain Standard Time");

2 个答案:

答案 0 :(得分:1)

您可以为没有任何转换的Silverlight应用程序提供服务,因为服务器的.Net代码具有所有时区功能。然后让Silverlight客户端在需要转换时调用该服务。

答案 1 :(得分:0)

编辑:我似乎犯了一个错误,下面的答案是针对WPF的。我不知道如何处理Silverlight中提出的问题,我无法删除此答案。

这对我有用:

TimeZoneInfo GermanTimeZone = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");
var dateTimeInBerlin = TimeZoneInfo.ConvertTimeFromUtc(utc, GermanTimeZone);

时区名称在Windows注册表中配置:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones