在我的本地计算机中,我尝试使用以下方法访问 IANA 时区的偏移值converter
,
foreach (var timeZone in TZConvert.KnownIanaTimeZoneNames)
{
var tzi = TZConvert.GetTimeZoneInfo(timeZone.ToString());
TimeSpan offset = tzi.GetUtcOffset(DateTime.Now);
.......
}
该行TZConvert.GetTimeZoneInfo(timeZone.ToString())
有时会抛出一个错误说
System.TimeZoneNotFoundException: 'The time zone ID 'Sudan Standard Time' was not found on the local computer.'
当我使用相同的命令在 power shell 上尝试相同的操作时,
PS C:\Users\SajeetharanS> [System.TimeZoneInfo]::FindSystemTimeZoneById("Aleutian Standard Time") 使用“1”参数调用“FindSystemTimeZoneById”的异常:“找不到时区 ID 'Aleutian Standard Time'在本地计算机上。” 在 line:1 char:1 + [System.TimeZoneInfo]::FindSystemTimeZoneById("Aleutian Standard Time ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: ( :) [],MethodInvocationException + FullyQualifiedErrorId:TimeZoneNotFoundException
为什么缺少一些时区信息?我该如何解决?