在Silverlight应用中,如果我知道时区ID,我该如何获得该时区的当前UTC偏移量或当前时间?
如果我在东海岸,我想知道当前的UTC偏移或亚利桑那州的当前时间,我怎么能在Silverlight中做到这一点?
这在Silverlight中不可用:
var AZTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(SomeDatetime, "US Mountain Standard Time");
答案 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