TimeZoneInfo.ConvertTimeBySystemTimeZoneId TimeZoneInfo.ConvertTimeBySystemTimeZoneId TimeZoneInfo.ConvertTimeBySystemTimeZoneId Method

Определение

Преобразует время во время в другом часовом поясе, исходя из идентификатора этого пояса.Converts a time to the time in another time zone based on a time zone identifier.

Перегрузки

ConvertTimeBySystemTimeZoneId(DateTime, String) ConvertTimeBySystemTimeZoneId(DateTime, String) ConvertTimeBySystemTimeZoneId(DateTime, String)

Преобразует время во время в другом часовом поясе, исходя из идентификатора этого пояса.Converts a time to the time in another time zone based on the time zone's identifier.

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Преобразует время во время в другом часовом поясе, исходя из идентификатора этого пояса.Converts a time to the time in another time zone based on the time zone's identifier.

ConvertTimeBySystemTimeZoneId(DateTime, String, String) ConvertTimeBySystemTimeZoneId(DateTime, String, String) ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Преобразует время в одном часовом поясе во время в другом, исходя из идентификаторов этих поясов.Converts a time from one time zone to another based on time zone identifiers.

ConvertTimeBySystemTimeZoneId(DateTime, String) ConvertTimeBySystemTimeZoneId(DateTime, String) ConvertTimeBySystemTimeZoneId(DateTime, String)

Преобразует время во время в другом часовом поясе, исходя из идентификатора этого пояса.Converts a time to the time in another time zone based on the time zone's identifier.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string -> DateTime

Параметры

dateTime
DateTime DateTime DateTime

Преобразовываемые дата и время.The date and time to convert.

destinationTimeZoneId
String String String

Идентификатор часового пояса назначения.The identifier of the destination time zone.

Возвраты

Дата и время в часовом поясе назначения.The date and time in the destination time zone.

Исключения

destinationTimeZoneIdnull.destinationTimeZoneId is null.

Идентификатор часового пояса найден, однако данные реестра повреждены.The time zone identifier was found, but the registry data is corrupted.

Процесс не имеет разрешений, необходимых для чтения из раздела реестра, который содержит сведения о часовом поясе.The process does not have the permissions required to read from the registry key that contains the time zone information.

Идентификатор destinationTimeZoneId не найден в локальной системе.The destinationTimeZoneId identifier was not found on the local system.

Комментарии

При выполнении преобразования ConvertTimeBySystemTimeZoneId метод применяет все правила коррекции, действующие destinationTimeZoneId в часовом поясе.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

Эта перегрузка во многом аналогична вызову ConvertTime(DateTime, TimeZoneInfo) метода, за исключением того, что он позволяет указать часовой пояс назначения по его идентификатору, а не по ссылке на объект.This overload is largely identical to calling the ConvertTime(DateTime, TimeZoneInfo) method, except that it allows you to specify the destination time zone by its identifier rather than by an object reference. Этот метод наиболее удобен, когда необходимо преобразовать время, не извлекая объект часового пояса, который соответствует ему, и вам не нужно знать, является ли преобразованное время стандартным или летним.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

Метод определяет исходный часовой пояс из значения dateTime Kind свойства параметра, как показано в следующей таблице. ConvertTimeBySystemTimeZoneId(DateTime, String)The ConvertTimeBySystemTimeZoneId(DateTime, String) method determines the source time zone from the value of the dateTime parameter's Kind property, as the following table shows.

Значение свойства KindKind property value Исходный часовой поясSource time zone Поведение методаMethod behavior
DateTimeKind.Local Local Преобразует местное время во время в destinationTimeZone.Converts the local time to the time in destinationTimeZone.
DateTimeKind.Utc Utc Преобразует время в формате UTC во время в destinationTimeZone.Converts Coordinated Universal Time (UTC) to the time in destinationTimeZone.
DateTimeKind.Unspecified Предполагается Local.Assumed to be Local. Преобразует местное время во время в destinationTimeZone.Converts the local time to the time in destinationTimeZone.

Свойство возвращаемого DateTime значения задается, как показано в следующей таблице. KindThe Kind property of the returned DateTime value is set as shown in the following table.

УсловиеCondition Возвращаемое значение свойства KindReturned Kind property value
Значение параметра destinationTimeZoneTimeZoneInfo.Utc.Id.The destinationTimeZone is TimeZoneInfo.Utc.Id. DateTimeKind.Utc
Любое другое destinationTimeZone значение.Any other destinationTimeZone value. DateTimeKind.Unspecified

Если значение dateTime параметра является неоднозначным местным временем, оно интерпретируется как стандартное время.If the value of the dateTime parameter is an ambiguous local time, it is interpreted as a standard time. Если параметр является недопустимым местным временем, этот метод ArgumentExceptionсоздает исключение. dateTimeIf the dateTime parameter is an invalid local time, this method throws an ArgumentException.

Если dateTime преобразование результатов в значение даты и времени, DateTime.MinValue предшествующее или позднее DateTime.MaxValue, этот метод возвращает DateTime.MinValue или DateTime.MaxValueсоответственно.If the conversion of dateTime results in a date and time value that is earlier than DateTime.MinValue or later than DateTime.MaxValue, this method returns DateTime.MinValue or DateTime.MaxValue, respectively.

Этот метод получает сведения о часовом поясе, идентификатор которого указан destinationTimeZoneId параметром из реестра систем Windows и из библиотеки ICU в Linux и macOS.This method retrieves information on the time zone whose identifier is specified by the destinationTimeZoneId parameter from the registry on Windows systems and from the ICU Library on Linux and macOS. Он не может получить объект часового пояса, созданный с помощью CreateCustomTimeZone метода.It cannot retrieve a time zone object that is created using the CreateCustomTimeZone method. Параметр должен точно соответствовать идентификатору часового пояса в длине, но не в случае успешного сопоставления, т. е. при destinationTimeZoneId сравнении с идентификаторами часовых поясов регистр не учитывается. destinationTimeZoneIdThe destinationTimeZoneId parameter must correspond exactly to the time zone's identifier in length, but not in case, for a successful match to occur; that is, the comparison of destinationTimeZoneId with time zone identifiers is case-insensitive.

Дополнительно

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Преобразует время во время в другом часовом поясе, исходя из идентификатора этого пояса.Converts a time to the time in another time zone based on the time zone's identifier.

public:
 static DateTimeOffset ConvertTimeBySystemTimeZoneId(DateTimeOffset dateTimeOffset, System::String ^ destinationTimeZoneId);
public static DateTimeOffset ConvertTimeBySystemTimeZoneId (DateTimeOffset dateTimeOffset, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTimeOffset * string -> DateTimeOffset

Параметры

dateTimeOffset
DateTimeOffset DateTimeOffset DateTimeOffset

Преобразовываемые дата и время.The date and time to convert.

destinationTimeZoneId
String String String

Идентификатор часового пояса назначения.The identifier of the destination time zone.

Возвраты

Дата и время в часовом поясе назначения.The date and time in the destination time zone.

Исключения

Свойство destinationTimeZoneId имеет значение null.destinationTimeZoneId is null.

Идентификатор часового пояса найден, однако данные реестра повреждены.The time zone identifier was found but the registry data is corrupted.

Процесс не имеет разрешений, необходимых для чтения из раздела реестра, который содержит сведения о часовом поясе.The process does not have the permissions required to read from the registry key that contains the time zone information.

Идентификатор destinationTimeZoneId не найден в локальной системе.The destinationTimeZoneId identifier was not found on the local system.

Комментарии

При выполнении преобразования ConvertTimeBySystemTimeZoneId метод применяет все правила коррекции, действующие destinationTimeZoneId в часовом поясе.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

Эта перегрузка идентична вызову ConvertTime(DateTime, TimeZoneInfo) метода, за исключением того, что он позволяет указать часовой пояс назначения по его идентификатору, а не по ссылке на объект.This overload is identical to calling the ConvertTime(DateTime, TimeZoneInfo) method, except that it allows you to specify the destination time zone by its identifier rather than by an object reference. Этот метод наиболее удобен, когда необходимо преобразовать время, не извлекая объект часового пояса, который соответствует ему, и вам не нужно знать, является ли преобразованное время стандартным или летним.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

dateTimeOffset Поскольку параметр представляет дату и время вместе со смещением этого времени от времени в формате UTC, он не может представлять неоднозначное или недопустимое время.Because the dateTimeOffset parameter represents a date and time together with that time's offset from Coordinated Universal Time (UTC), it cannot represent either an ambiguous time or an invalid time.

Этот метод извлекает часовой пояс, идентификатор которого указан destinationTimeZoneId параметром из реестра систем Windows и из библиотеки ICU в Linux и macOS.This method retrieves the time zone whose identifier is specified by the destinationTimeZoneId parameter from the registry on Windows systems and from the ICU Library on Linux and macOS. Он не может получить объект часового пояса, созданный с помощью CreateCustomTimeZone метода.It cannot retrieve a time zone object that is created using the CreateCustomTimeZone method. Параметр должен точно соответствовать идентификатору часового пояса в длине, но не в случае успешного сопоставления, т. е. при destinationTimeZoneId сравнении с идентификаторами часовых поясов регистр не учитывается. destinationTimeZoneIdThe destinationTimeZoneId parameter must correspond exactly to the time zone's identifier in length, but not in case, for a successful match to occur; that is, the comparison of destinationTimeZoneId with time zone identifiers is case-insensitive.

При преобразовании dateTimeOffset значения во время в часовом поясе назначения метод учитывает все правила коррекции, действующие в целевом часовом поясе.In converting the dateTimeOffset value to the time in the destination time zone, the method takes into account any adjustment rules in effect in the destination time zone.

Если dateTimeOffset преобразование результатов в значение даты и времени, DateTimeOffset.MinValue предшествующее или позднее DateTimeOffset.MaxValue, этот метод возвращает DateTimeOffset.MinValue или DateTimeOffset.MaxValueсоответственно.If the conversion of dateTimeOffset results in a date and time value that is earlier than DateTimeOffset.MinValue or later than DateTimeOffset.MaxValue, this method returns DateTimeOffset.MinValue or DateTimeOffset.MaxValue, respectively.

Дополнительно

ConvertTimeBySystemTimeZoneId(DateTime, String, String) ConvertTimeBySystemTimeZoneId(DateTime, String, String) ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Преобразует время в одном часовом поясе во время в другом, исходя из идентификаторов этих поясов.Converts a time from one time zone to another based on time zone identifiers.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ sourceTimeZoneId, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string sourceTimeZoneId, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string * string -> DateTime

Параметры

dateTime
DateTime DateTime DateTime

Преобразовываемые дата и время.The date and time to convert.

sourceTimeZoneId
String String String

Идентификатор исходного часового пояса.The identifier of the source time zone.

destinationTimeZoneId
String String String

Идентификатор часового пояса назначения.The identifier of the destination time zone.

Возвраты

Дата и время в часовом поясе назначения, которые соответствуют значению параметра dateTime в исходном часовом поясе.The date and time in the destination time zone that corresponds to the dateTime parameter in the source time zone.

Исключения

Значение свойства Kind параметра dateTime не соответствует исходному часовому поясу.The Kind property of the dateTime parameter does not correspond to the source time zone.

- или --or- Значение dateTime является недопустимым временем в исходном часовом поясе.dateTime is an invalid time in the source time zone.

sourceTimeZoneIdnull.sourceTimeZoneId is null.

- или --or- Свойство destinationTimeZoneId имеет значение null.destinationTimeZoneId is null.

Идентификаторы часовых поясов найдены, однако данные реестра повреждены.The time zone identifiers were found, but the registry data is corrupted.

У пользователя отсутствуют разрешения, необходимые для чтения из разделов реестра, в которых содержатся сведения о часовом поясе.The user does not have the permissions required to read from the registry keys that hold time zone data.

Идентификатор sourceTimeZoneId не найден в локальной системе.The sourceTimeZoneId identifier was not found on the local system.

- или --or- Идентификатор destinationTimeZoneId не найден в локальной системе.The destinationTimeZoneId identifier was not found on the local system.

Примеры

В следующем примере TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) метод используется для вывода времени, соответствующего времени локальной системы, в восьми городах мира.The following example uses the TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) method to display the time that corresponds to the local system time in eight cities of the world.

DateTime currentTime = DateTime.Now;
Console.WriteLine("Current Times:");
Console.WriteLine();
Console.WriteLine("Los Angeles: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"));
Console.WriteLine("Chicago: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"));
Console.WriteLine("New York: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"));
Console.WriteLine("London: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"));
Console.WriteLine("Moscow: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"));
Console.WriteLine("New Delhi: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"));
Console.WriteLine("Beijing: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"));
Console.WriteLine("Tokyo: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"));
Dim currentTime As Date = Date.Now
Console.WriteLine("Current Times:")
Console.WriteLine()
Console.WriteLine("Los Angeles: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"))
Console.WriteLine("Chicago: {0}", _ 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"))
Console.WriteLine("New York: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"))
Console.WriteLine("London: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"))
Console.WriteLine("Moscow: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"))
Console.WriteLine("New Delhi: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"))
Console.WriteLine("Beijing: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"))
Console.WriteLine("Tokyo: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"))

Комментарии

При выполнении преобразования ConvertTimeBySystemTimeZoneId метод применяет все правила коррекции, действующие destinationTimeZoneId в часовом поясе.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

Хотя он аналогичен TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) методу, можно использовать TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) для указания исходных и целевых часовых поясов с использованием их идентификаторов вместо их TimeZoneInfo объектов.Although it is similar to the TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) method, you can use TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) to specify the source and destination time zones using their identifiers instead of their TimeZoneInfo objects. Этот метод наиболее удобен, когда необходимо преобразовать время, не извлекая объект часового пояса, который соответствует ему, и вам не нужно знать, является ли преобразованное время стандартным или летним.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

Этот метод извлекает Часовые пояса, идентификаторы которых являются sourceTimeZoneId параметрами destinationTimeZoneId и из реестра в системах Windows и из библиотеки ICU в Linux и macOS.This method retrieves the time zones whose identifiers are the sourceTimeZoneId and destinationTimeZoneId parameters from the registry on Windows systems and from the ICU Library on Linux and macOS. Он не может получить объекты часового пояса, созданные с CreateCustomTimeZone помощью метода.It cannot retrieve time zone objects that are created using the CreateCustomTimeZone method.

Значение Kind свойства dateTime параметрадолжносоответствоватьпараметру,какпоказаноsourceTimeZoneId в следующей таблице.The value of the Kind property of the dateTime parameter must correspond to the sourceTimeZoneId parameter, as the following table shows.

Значение DateTime. KindDateTime.Kind value значение СаурцетимезонеsourceTimeZone value Поведение методаMethod behavior
DateTimeKind.Utc Равно TimeZoneInfo.Utc.Id.Equals TimeZoneInfo.Utc.Id. Преобразуется dateTime в время часового пояса назначения.Converts dateTime to the destination time zone's time.
DateTimeKind.Utc Does not equal TimeZoneInfo.Utc.Id.Does not equal TimeZoneInfo.Utc.Id. Создает исключение ArgumentException.Throws an ArgumentException.
DateTimeKind.Local Равно TimeZoneInfo.Local.Id.Equals TimeZoneInfo.Local.Id. Преобразуется dateTime в время часового пояса назначения.Converts dateTime to the destination time zone's time.
DateTimeKind.Local Does not equal TimeZoneInfo.Local.Id.Does not equal TimeZoneInfo.Local.Id. Создает исключение ArgumentException.Throws an ArgumentException.
DateTimeKind.Unspecified Всеми.Any. Преобразуется dateTime в время часового пояса назначения.Converts dateTime to the destination time zone's time.

FindSystemTimeZoneById Поскольку он основывается на вызовах метода ConvertTimeBySystemTimeZoneId , метод выполняет поиск с учетом регистра, чтобы найти Часовые пояса, соответствующие sourceTimeZoneId и destinationTimeZoneId.Because it relies on calls to the FindSystemTimeZoneById method, the ConvertTimeBySystemTimeZoneId method performs a case-insensitive search to locate the time zones that correspond to sourceTimeZoneId and destinationTimeZoneId.

Если значение dateTime параметра является неоднозначным временем в исходном часовом поясе, оно интерпретируется как стандартное время.If the value of the dateTime parameter is an ambiguous time in the source time zone, it is interpreted as a standard time. Если параметр является недопустимым временем в исходном часовом поясе, этот метод ArgumentExceptionсоздает исключение. dateTimeIf the dateTime parameter is an invalid time in the source time zone, this method throws an ArgumentException.

Свойству возвращаемого DateTime значения присваивается DateTimeKind.Unspecified значение, если часовой пояс назначения не имеет формат UTC, в этом случае для DateTimeKind.Utcнего устанавливается значение. KindThe Kind property of the returned DateTime value is set to DateTimeKind.Unspecified unless the destination time zone is Coordinated Universal Time (UTC), in which case it is set to DateTimeKind.Utc.

Дополнительно

Применяется к