在 Silverlight 应用程序中,如果我知道时区 ID,如何获取该时区的当前 UTC 偏移量或当前时间?
如果我在东海岸,我想知道当前的 UTC 偏移量或亚利桑那州的当前时间,我该如何在 Silverlight 中做到这一点?
这在 Silverlight 中不可用:
var AZTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(SomeDatetime, "US Mountain Standard Time");
在 Silverlight 应用程序中,如果我知道时区 ID,如何获取该时区的当前 UTC 偏移量或当前时间?
如果我在东海岸,我想知道当前的 UTC 偏移量或亚利桑那州的当前时间,我该如何在 Silverlight 中做到这一点?
这在 Silverlight 中不可用:
var AZTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(SomeDatetime, "US Mountain Standard Time");
您可以为 Silverlight 应用程序创建一项服务,该服务不会进行任何转换,因为服务器的 .Net 代码具有所有这些时区功能。然后在需要转换时让 Silverlight 客户端调用该服务。
编辑:我似乎犯了一个错误,下面的答案是针对 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