Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Точные сведения часового пояса, необходимые приложению, могут не присутствовать в определенной системе по нескольким причинам:
Часовой пояс никогда не определен в реестре локальной системы.
Данные о часовом поясе были изменены или удалены из реестра.
Часовой пояс существует, но не содержит точных сведений о корректировках часового пояса в течение определенного исторического периода.
В таких случаях можно вызвать метод, чтобы определить часовой CreateCustomTimeZone пояс, необходимый приложению. Перегрузки этого метода можно использовать для создания часового пояса с правилами корректировки или без них. Если часовой пояс поддерживает летнее время, можно определить корректировки с помощью фиксированных или плавающих правил корректировки. (Определения этих терминов см. в разделе "Терминология часового пояса" в обзоре часового пояса.)
Это важно
Пользовательские часовые пояса, созданные путем вызова CreateCustomTimeZone метода, не добавляются в реестр. Вместо этого они могут быть доступны только через ссылку на объект, возвращаемую вызовом CreateCustomTimeZone метода.
В этом разделе показано, как создать часовой пояс без правил корректировки. Чтобы создать часовой пояс, поддерживающий правила перевода времени на летнее время, см. в статье «Практическое руководство: Создание часовых поясов с правилами корректировки».
Создание часового пояса без правил корректировки
Определите отображаемое имя часового пояса.
Отображаемое имя соответствует довольно стандартному формату, в котором смещение часового пояса от координированного универсального времени (UTC) заключено в скобки и за ним следует строка, которая определяет часовой пояс, один или несколько городов в часовом поясе или один или несколько стран или регионов часового пояса.
Определите имя стандартного часового пояса. Как правило, эта строка также используется в качестве идентификатора часового пояса.
Если вы хотите использовать идентификатор, отличный от стандартного имени часового пояса, определите идентификатор часового пояса.
Создайте экземпляр объекта TimeSpan, который определяет смещение часового пояса от UTC. Часовые пояса со временем, более поздним, чем UTC, имеют положительное смещение. Часовые пояса с временем раньше UTC имеют отрицательное смещение.
Вызовите метод TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String), чтобы создать экземпляр нового часового пояса.
Пример
В следующем примере определяется пользовательский часовой пояс для станции Моусон в Антарктиде, для которого не установлены правила корректировки.
string displayName = "(GMT+06:00) Antarctica/Mawson Time";
string standardName = "Mawson Time";
TimeSpan offset = new(06, 00, 00);
TimeZoneInfo mawson = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName);
Console.WriteLine($"The current time is {TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, mawson)} {mawson.StandardName}");
Dim displayName As String = "(GMT+06:00) Antarctica/Mawson Time"
Dim standardName As String = "Mawson Time"
Dim offset As TimeSpan = New TimeSpan(06, 00, 00)
Dim mawson As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName)
Console.WriteLine("The current time is {0} {1}", _
TimeZoneInfo.ConvertTime(Date.Now, TimeZoneInfo.Local, mawson), _
mawson.StandardName)
Строка, назначенная свойству DisplayName, соответствует стандартному формату, где указано смещение часового пояса по отношению к UTC, за которым следует описание этого часового пояса.
Компиляция кода
Для этого примера требуется:
Импортируются следующие пространства имен:
using System.Collections.Generic;
Imports System.Collections.Generic Imports System.Collections.ObjectModel