Подтвердить что ты не робот

Какую ценность следует передать в TimeZoneInfo.FindSystemTimeZoneById(String)?

Я хочу использовать метод TimeZoneInfo.FindSystemTimeZoneById(String), но я не знаю, какие значения использовать в качестве ввода?

Где я могу получить список значений для id, необходимых для FindSystemTimeZoneById?

4b9b3361

Ответ 1

Вот список в Windows 8 (я извлек из реестра Windows)

Afghanistan Standard Time
Alaskan Standard Time
Alaskan Standard Time\Dynamic DST
Arab Standard Time
Arabian Standard Time
Arabic Standard Time
Arabic Standard Time\Dynamic DST
Argentina Standard Time
Argentina Standard Time\Dynamic DST
Atlantic Standard Time
Atlantic Standard Time\Dynamic DST
AUS Central Standard Time
AUS Eastern Standard Time
AUS Eastern Standard Time\Dynamic DST
Azerbaijan Standard Time
Azores Standard Time
Azores Standard Time\Dynamic DST
Bahia Standard Time
Bahia Standard Time\Dynamic DST
Bangladesh Standard Time
Bangladesh Standard Time\Dynamic DST
Canada Central Standard Time
Cape Verde Standard Time
Caucasus Standard Time
Caucasus Standard Time\Dynamic DST
Cen. Australia Standard Time
Cen. Australia Standard Time\Dynamic DST
Central America Standard Time
Central Asia Standard Time
Central Brazilian Standard Time
Central Brazilian Standard Time\Dynamic DST
Central Europe Standard Time
Central European Standard Time
Central Pacific Standard Time
Central Standard Time
Central Standard Time\Dynamic DST
Central Standard Time (Mexico)
China Standard Time
Dateline Standard Time
E. Africa Standard Time
E. Australia Standard Time
E. Europe Standard Time
E. South America Standard Time
E. South America Standard Time\Dynamic DST
Eastern Standard Time
Eastern Standard Time\Dynamic DST
Egypt Standard Time
Egypt Standard Time\Dynamic DST
Ekaterinburg Standard Time
Ekaterinburg Standard Time\Dynamic DST
Fiji Standard Time
Fiji Standard Time\Dynamic DST
FLE Standard Time
Georgian Standard Time
GMT Standard Time
Greenland Standard Time
Greenland Standard Time\Dynamic DST
Greenwich Standard Time
GTB Standard Time
Hawaiian Standard Time
India Standard Time
Iran Standard Time
Iran Standard Time\Dynamic DST
Israel Standard Time
Israel Standard Time\Dynamic DST
Jordan Standard Time
Jordan Standard Time\Dynamic DST
Kaliningrad Standard Time
Kaliningrad Standard Time\Dynamic DST
Kamchatka Standard Time
Korea Standard Time
Libya Standard Time
Libya Standard Time\Dynamic DST
Magadan Standard Time
Magadan Standard Time\Dynamic DST
Mauritius Standard Time
Mauritius Standard Time\Dynamic DST
Mid-Atlantic Standard Time
Middle East Standard Time
Middle East Standard Time\Dynamic DST
Montevideo Standard Time
Montevideo Standard Time\Dynamic DST
Morocco Standard Time
Morocco Standard Time\Dynamic DST
Mountain Standard Time
Mountain Standard Time\Dynamic DST
Mountain Standard Time (Mexico)
Myanmar Standard Time
N. Central Asia Standard Time
N. Central Asia Standard Time\Dynamic DST
Namibia Standard Time
Namibia Standard Time\Dynamic DST
Nepal Standard Time
New Zealand Standard Time
New Zealand Standard Time\Dynamic DST
Newfoundland Standard Time
Newfoundland Standard Time\Dynamic DST
North Asia East Standard Time
North Asia East Standard Time\Dynamic DST
North Asia Standard Time
North Asia Standard Time\Dynamic DST
Pacific SA Standard Time
Pacific SA Standard Time\Dynamic DST
Pacific Standard Time
Pacific Standard Time\Dynamic DST
Pacific Standard Time (Mexico)
Pakistan Standard Time
Pakistan Standard Time\Dynamic DST
Paraguay Standard Time
Paraguay Standard Time\Dynamic DST
Romance Standard Time
Russian Standard Time
Russian Standard Time\Dynamic DST
SA Eastern Standard Time
SA Pacific Standard Time
SA Western Standard Time
Samoa Standard Time
Samoa Standard Time\Dynamic DST
SE Asia Standard Time
Singapore Standard Time
South Africa Standard Time
Sri Lanka Standard Time
Syria Standard Time
Syria Standard Time\Dynamic DST
Taipei Standard Time
Tasmania Standard Time
Tasmania Standard Time\Dynamic DST
Tokyo Standard Time
Tonga Standard Time
Turkey Standard Time
Turkey Standard Time\Dynamic DST
Ulaanbaatar Standard Time
US Eastern Standard Time
US Eastern Standard Time\Dynamic DST
US Mountain Standard Time
UTC
UTC+12
UTC-02
UTC-11
Venezuela Standard Time
Venezuela Standard Time\Dynamic DST
Vladivostok Standard Time
Vladivostok Standard Time\Dynamic DST
W. Australia Standard Time
W. Australia Standard Time\Dynamic DST
W. Central Africa Standard Time
W. Europe Standard Time
West Asia Standard Time
West Pacific Standard Time
Yakutsk Standard Time
Yakutsk Standard Time\Dynamic DST

Ответ 2

Вы можете получить их из статического списка в классе TimeZoneInfo

var infos = TimeZoneInfo.GetSystemTimeZones();
foreach (var info in infos)
{
    Console.WriteLine(info.Id);
}

Пример:

  var tzInfo = TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time");

Или, если вы просто хотите, чтобы список идентификаторов часового пояса, например DJ KRAZE, предложил

  var timeZoneIds = TimeZoneInfo.GetSystemTimeZones().Select(t => t.Id);

Ответ 3

Посмотрите статический метод на TimeZoneInfo, называемый TimeZoneInfo.GetSystemTimeZones().

Это приведет к возврату списка всех TimeZoneInfo в вашей операционной системе из реестра. Все они хранятся: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.

Примером является "Стандартное время по умолчанию" для часового пояса "Дублин, Эдинбург, Лиссабон, Лондон".

Ответ 4

Доступные временные интервалы:

Console.WriteLine(string.Join("\n",TimeZoneInfo.GetSystemTimeZones().Select(x=>x.Id)));

Результат:

Dateline Standard Time
UTC-11
Aleutian Standard Time
Hawaiian Standard Time
Marquesas Standard Time
Alaskan Standard Time
UTC-09
Pacific Standard Time (Mexico)
UTC-08
Pacific Standard Time
US Mountain Standard Time
Mountain Standard Time (Mexico)
Mountain Standard Time
Central America Standard Time
Central Standard Time
Easter Island Standard Time
Central Standard Time (Mexico)
Canada Central Standard Time
SA Pacific Standard Time
Eastern Standard Time (Mexico)
Eastern Standard Time
Haiti Standard Time
Cuba Standard Time
US Eastern Standard Time
Paraguay Standard Time
Atlantic Standard Time
Venezuela Standard Time
Central Brazilian Standard Time
SA Western Standard Time
Pacific SA Standard Time
Turks And Caicos Standard Time
Newfoundland Standard Time
Tocantins Standard Time
E. South America Standard Time
SA Eastern Standard Time
Argentina Standard Time
Greenland Standard Time
Montevideo Standard Time
Saint Pierre Standard Time
Bahia Standard Time
UTC-02
Mid-Atlantic Standard Time
Azores Standard Time
Cape Verde Standard Time
UTC
Morocco Standard Time
GMT Standard Time
Greenwich Standard Time
W. Europe Standard Time
Central Europe Standard Time
Romance Standard Time
Central European Standard Time
W. Central Africa Standard Time
Namibia Standard Time
Jordan Standard Time
GTB Standard Time
Middle East Standard Time
Egypt Standard Time
E. Europe Standard Time
Syria Standard Time
West Bank Standard Time
South Africa Standard Time
FLE Standard Time
Israel Standard Time
Kaliningrad Standard Time
Libya Standard Time
Arabic Standard Time
Turkey Standard Time
Arab Standard Time
Belarus Standard Time
Russian Standard Time
E. Africa Standard Time
Iran Standard Time
Arabian Standard Time
Astrakhan Standard Time
Azerbaijan Standard Time
Russia Time Zone 3
Mauritius Standard Time
Georgian Standard Time
Caucasus Standard Time
Afghanistan Standard Time
West Asia Standard Time
Ekaterinburg Standard Time
Pakistan Standard Time
India Standard Time
Sri Lanka Standard Time
Nepal Standard Time
Central Asia Standard Time
Bangladesh Standard Time
Omsk Standard Time
Myanmar Standard Time
SE Asia Standard Time
Altai Standard Time
W. Mongolia Standard Time
North Asia Standard Time
N. Central Asia Standard Time
Tomsk Standard Time
China Standard Time
North Asia East Standard Time
Singapore Standard Time
W. Australia Standard Time
Taipei Standard Time
Ulaanbaatar Standard Time
North Korea Standard Time
Aus Central W. Standard Time
Transbaikal Standard Time
Tokyo Standard Time
Korea Standard Time
Yakutsk Standard Time
Cen. Australia Standard Time
AUS Central Standard Time
E. Australia Standard Time
AUS Eastern Standard Time
West Pacific Standard Time
Tasmania Standard Time
Vladivostok Standard Time
Lord Howe Standard Time
Bougainville Standard Time
Russia Time Zone 10
Magadan Standard Time
Norfolk Standard Time
Sakhalin Standard Time
Central Pacific Standard Time
Russia Time Zone 11
New Zealand Standard Time
UTC+12
Fiji Standard Time
Kamchatka Standard Time
Chatham Islands Standard Time
Tonga Standard Time
Samoa Standard Time
Line Islands Standard Time

Ответ 5

Как и другие, вы можете найти список, итерации TimeZoneInfo.GetSystemTimeZones(), чтобы найти строку, которую вы хотите использовать. Тем не менее, если у вас есть только информация о разнице во времени (например, GMT + 9 или GMT-10) и вы не можете найти свой часовой пояс после итерации часовых поясов, вы можете увидеть следующий URL-адрес, чтобы узнать, какой часовой пояс вам нужен https://msdn.microsoft.com/en-US/library/ms912391(v=winembedded.11).aspx

Ответ 6

Или вы можете передать TimeZoneInfo.Local.Id следующим образом:

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(TimeZoneInfo.Local.Id);
DateTime localDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tzi);