Поделиться через


Поиск часового пояса, заданного в локальной системе

Класс TimeZoneInfo не предоставляет открытый конструктор. В результате ключевое слово new невозможно использовать для создания нового объекта TimeZoneInfo. Вместо этого экземпляры объектов TimeZoneInfo создаются либо путем извлечения информации о предопределенных часовых поясах из реестра, либо путем создания пользовательского часового пояса. В этом разделе описывается создание экземпляра часового пояса из данных, хранимых в реестре. Кроме того, свойства static (shared в Visual Basic) класса TimeZoneInfo предоставляют доступ к часовому поясу UTC и местному часовому поясу.

Примечание.

Для часовых поясов, которые не определены в реестре, можно создать пользовательские часовые пояса путем вызова перегрузок метода CreateCustomTimeZone. Создание пользовательского часового пояса рассматривается в разделе "Практическое руководство. Создание часовых поясов без правил корректировки и практическое руководство. Создание часовых поясов с разделами правил корректировки". Кроме того, можно создать экземпляр объекта TimeZoneInfo, восстановив его из сериализованной строки с использованием метода FromSerializedString. Сериализация и десериализация TimeZoneInfo объекта рассматривается в разделе "Практическое руководство. Сохранение часовых поясов в внедренном ресурсе и практическое руководство. Восстановление часовых поясов из разделов внедренных ресурсов ".

Доступ к отдельным часовых поясам

Класс TimeZoneInfo предоставляет два предопределенных объекта часовых поясов, которые представляют собой время UTC и местный часовой пояс. Они доступны из свойств Utc и Local соответственно. Инструкции по доступу к часовым поясам UTC или локального часового пояса см. в статье "Практическое руководство. Доступ к предопределенным объектам часового пояса UTC и локального часового пояса".

Можно также создать экземпляр объекта TimeZoneInfo, который представляет любой часовой пояс, определенный в реестре. Инструкции по созданию экземпляра определенного объекта часового пояса см. в статье "Практическое руководство. Создание экземпляра объекта TimeZoneInfo".

Идентификаторы часового пояса

Идентификатор часового пояса — это важнейшее поле, которое уникально идентифицирует часовой пояс. Несмотря на то что большинство ключей являются относительно короткими, идентификатор часового пояса относительно длинный. В большинстве случаев его значение соответствует свойству TimeZoneInfo.StandardName, которое используется для предоставления имени стандартному времени часового пояса. Однако есть исключения. Лучшим способом убедиться, что предоставлен действительный идентификатор, является выполнение перечисления доступных в системе часовых поясов и отслеживание связанных с ними идентификаторов.

См. также