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


TimeZoneInfo.ConvertTime Метод

Определение

Преобразует время в определенный часовой пояс.

Перегрузки

Имя Описание
ConvertTime(DateTime, TimeZoneInfo)

Преобразует время в определенный часовой пояс.

ConvertTime(DateTimeOffset, TimeZoneInfo)

Преобразует время в определенный часовой пояс.

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Преобразует время из одного часового пояса в другой.

ConvertTime(DateTime, TimeZoneInfo)

Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs

Преобразует время в определенный часовой пояс.

public:
 static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTime * TimeZoneInfo -> DateTime
Public Shared Function ConvertTime (dateTime As DateTime, destinationTimeZone As TimeZoneInfo) As DateTime

Параметры

dateTime
DateTime

Дата и время преобразования.

destinationTimeZone
TimeZoneInfo

Часовой пояс для преобразования dateTime .

Возвращаемое значение

Дата и время в часовом поясе назначения.

Исключения

Значение dateTime параметра представляет недопустимое время.

Значение destinationTimeZone параметра — null.

Примеры

В следующем примере массив значений даты и времени преобразуется в время в восточном часовом поясе США и Канады. В нем показано, что исходный часовой пояс зависит от DateTime.Kind свойства исходного DateTime значения. В нем также показано, что ConvertTime метод принимает корректировки часового пояса в учетную запись, поскольку корректировка часового пояса происходит как в исходном, так и в целевом часовых поясах в 2:00 утра 7 ноября 2010 года.

using System;

public class Example
{
   public static void Main()
   {
      // Define times to be converted.
      DateTime[] times = { new DateTime(2010, 1, 1, 0, 1, 0), 
                           new DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Utc), 
                           new DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Local),                            
                           new DateTime(2010, 11, 6, 23, 30, 0),
                           new DateTime(2010, 11, 7, 2, 30, 0) };
                              
      // Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
      TimeZoneInfo est; 
      try {
         est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
      }
      catch (TimeZoneNotFoundException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }
      catch (InvalidTimeZoneException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }   

      // Display the current time zone name.
      Console.WriteLine("Local time zone: {0}\n", TimeZoneInfo.Local.DisplayName);
      
      // Convert each time in the array.
      foreach (DateTime timeToConvert in times)
      {
         DateTime targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est);
         Console.WriteLine("Converted {0} {1} to {2}.", timeToConvert, 
                           timeToConvert.Kind, targetTime);
      }                        
   }
}
// The example displays the following output:
//    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//    
//    Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
//    Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
//    Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
//    Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
//    Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
open System

// Define times to be converted.
let times = 
    [| DateTime(2010, 1, 1, 0, 1, 0)
       DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Utc)
       DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Local)
       DateTime(2010, 11, 6, 23, 30, 0)
       DateTime(2010, 11, 7, 2, 30, 0) |]
                        
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
try
    let est = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"

    // Display the current time zone name.
    printfn $"Local time zone: {TimeZoneInfo.Local.DisplayName}\n"

    // Convert each time in the array.
    for timeToConvert in times do
        let targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est)
        printfn $"Converted {timeToConvert} {timeToConvert.Kind} to {targetTime}."
with
| :? TimeZoneNotFoundException ->
    printfn "Unable to retrieve the Eastern Standard time zone."
| :? InvalidTimeZoneException ->
    printfn "Unable to retrieve the Eastern Standard time zone."
// The example displays the following output:
//    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//    
//    Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
//    Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
//    Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
//    Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
//    Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
Module Example
   Public Sub Main()
      ' Define times to be converted.
      Dim times() As Date = { #1/1/2010 12:01AM#, _
                              DateTime.SpecifyKind(#1/1/2010 12:01AM#, DateTimeKind.Utc), _
                              DateTime.SpecifyKind(#1/1/2010 12:01AM#, DateTimeKind.Local), _
                              #11/6/2010 11:30PM#, #11/7/2010 2:30AM# }
                              
      ' Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
      Dim est As TimeZoneInfo 
      Try
         est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
      Catch e As TimeZoneNotFoundException
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
         Exit Sub
      Catch e As InvalidTimeZoneException
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
         Exit Sub
      End Try   

      ' Display the current time zone name.
      Console.WriteLine("Local time zone: {0}", TimeZoneInfo.Local.DisplayName)
      Console.WriteLine()
      
      ' Convert each time in the array.
      For Each timeToConvert As Date In times
         Dim targetTime As Date = TimeZoneInfo.ConvertTime(timeToConvert, est)
         Console.WriteLine("Converted {0} {1} to {2}.", timeToConvert, _
                           timeToConvert.Kind, targetTime)
      Next                        
   End Sub
End Module
' The example displays the following output:
'    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
'    
'    Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
'    Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
'    Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
'    Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
'    Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.

Комментарии

При преобразовании ConvertTime(DateTimeOffset, TimeZoneInfo) метод применяет все правила корректировки, действующие в часовом поясе destinationTimeZone .

Эта перегрузка ConvertTime(DateTime, TimeZoneInfo) метода определяет исходный часовой пояс из значения dateTime свойства параметра Kind , как показано в следующей таблице.

Значение свойства Kind Исходный часовой пояс Поведение метода
DateTimeKind.Local Local Преобразует местное время в время.destinationTimeZone
DateTimeKind.Utc Utc Преобразует координированное универсальное время (UTC) в время в destinationTimeZone.
DateTimeKind.Unspecified Предполагается, что это Local. Преобразует местное время в время.destinationTimeZone

Свойство Kind возвращаемого DateTime значения задано, как показано в следующей таблице.

Состояние Возвращаемое значение свойства Kind
Значение параметра destinationTimeZone — TimeZoneInfo.Utc. DateTimeKind.Utc
Значение параметра destinationTimeZone — TimeZoneInfo.Local. DateTimeKind.Local
Все остальные значения даты и времени и часовых поясов назначения. DateTimeKind.Unspecified

Если значение dateTime параметра является неоднозначным локальным временем, оно интерпретируется как стандартное время. dateTime Если параметр является недопустимым локальным временем, этот метод вызывает ArgumentExceptionисключение.

Если преобразование dateTime результатов в значение даты и времени, которое DateTime.MinValue раньше или более DateTime.MaxValueпоздней версии, этот метод возвращает DateTime.MinValue или DateTime.MaxValueсоответственно.

Вы также можете преобразовать в utc или из нее ConvertTimeFromUtc , вызвав методы и ConvertTimeToUtc методы.

См. также раздел

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

ConvertTime(DateTimeOffset, TimeZoneInfo)

Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs

Преобразует время в определенный часовой пояс.

public:
 static DateTimeOffset ConvertTime(DateTimeOffset dateTimeOffset, TimeZoneInfo ^ destinationTimeZone);
public static DateTimeOffset ConvertTime(DateTimeOffset dateTimeOffset, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTimeOffset * TimeZoneInfo -> DateTimeOffset
Public Shared Function ConvertTime (dateTimeOffset As DateTimeOffset, destinationTimeZone As TimeZoneInfo) As DateTimeOffset

Параметры

dateTimeOffset
DateTimeOffset

Дата и время преобразования.

destinationTimeZone
TimeZoneInfo

Часовой пояс для преобразования dateTimeOffset .

Возвращаемое значение

Дата и время в часовом поясе назначения.

Исключения

Значение destinationTimeZone параметра — null.

Примеры

В следующем примере массив значений DateTimeOffset преобразуется в время в восточном часовом поясе США и Канады. Он иллюстрирует, что ConvertTime метод принимает корректировки часового пояса в учетную запись, поскольку корректировка часового пояса происходит как в исходном, так и в целевом часовых поясах в 2:00 утра 7 ноября 2010 года.

using System;

public class Example
{
   public static void Main()
   {
      // Define times to be converted.
      DateTime time1 = new DateTime(2010, 1, 1, 12, 1, 0);
      DateTime time2 = new DateTime(2010, 11, 6, 23, 30, 0);
      DateTimeOffset[] times = { new DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset(time1)),
                                 new DateTimeOffset(time1, TimeSpan.Zero),
                                 new DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset(time2)),
                                 new DateTimeOffset(time2.AddHours(3), TimeZoneInfo.Local.GetUtcOffset(time2.AddHours(3))) };
                              
      // Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
      TimeZoneInfo est; 
      try {
         est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
      }
      catch (TimeZoneNotFoundException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }
      catch (InvalidTimeZoneException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }   

      // Display the current time zone name.
      Console.WriteLine("Local time zone: {0}\n", TimeZoneInfo.Local.DisplayName);
      
      // Convert each time in the array.
      foreach (DateTimeOffset timeToConvert in times)
      {
         DateTimeOffset targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est);
         Console.WriteLine("Converted {0} to {1}.", timeToConvert, targetTime);
      }                        
   }
}
// The example displays the following output:
//    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//    
//    Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
//    Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
//    Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
//    Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
open System

// Define times to be converted.
let time1 = DateTime(2010, 1, 1, 12, 1, 0)
let time2 = DateTime(2010, 11, 6, 23, 30, 0)
let times = 
    [| DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset time1)
       DateTimeOffset(time1, TimeSpan.Zero)
       DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset time2)
       DateTimeOffset(time2.AddHours 3, TimeZoneInfo.Local.GetUtcOffset(time2.AddHours 3)) |]
                        
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
try
    let est = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"

    // Display the current time zone name.
    printfn $"Local time zone: {TimeZoneInfo.Local.DisplayName}\n"

    // Convert each time in the array.
    for timeToConvert in times do
        let targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est)
        printfn $"Converted {timeToConvert} to {targetTime}."
with
| :? TimeZoneNotFoundException ->
    printfn "Unable to retrieve the Eastern Standard time zone."
| :? InvalidTimeZoneException ->
    printfn "Unable to retrieve the Eastern Standard time zone."
// The example displays the following output:
//    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//    
//    Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
//    Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
//    Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
//    Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
Module Example
   Public Sub Main()
      ' Define times to be converted.
      Dim time1 As Date = #1/1/2010 12:01AM#
      Dim time2 As Date = #11/6/2010 11:30PM#
      Dim times() As DateTimeOffset = { New DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset(time1)), _
                                        New DateTimeOffset(time1, Timespan.Zero), _
                                        New DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset(time2)), _
                                        New DateTimeOffset(time2.AddHours(3), TimeZoneInfo.Local.GetUtcOffset(time2.AddHours(3))) }
                              
      ' Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
      Dim est As TimeZoneInfo 
      Try
         est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
      Catch e As TimeZoneNotFoundException
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
         Exit Sub
      Catch e As InvalidTimeZoneException
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
         Exit Sub
      End Try   

      ' Display the current time zone name.
      Console.WriteLine("Local time zone: {0}", TimeZoneInfo.Local.DisplayName)
      Console.WriteLine()
      
      ' Convert each time in the array.
      For Each timeToConvert As DateTimeOffset In times
         Dim targetTime As DateTimeOffset = TimeZoneInfo.ConvertTime(timeToConvert, est)
         Console.WriteLine("Converted {0} to {1}.", timeToConvert, targetTime)
      Next                        
   End Sub
End Module
' The example displays the following output:
'    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
'    
'    Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
'    Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
'    Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
'    Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.

Комментарии

При преобразовании ConvertTime(DateTimeOffset, TimeZoneInfo) метод применяет все правила корректировки, действующие в часовом поясе destinationTimeZone .

Эта перегрузка отличается от других перегрузок ConvertTime метода, принимая DateTimeOffset значение в качестве первого параметра. Это определяет дату и время как смещение от согласованного универсального времени (UTC), а не в качестве даты и времени в определенном часовом поясе. В результате dateTimeOffset параметр не может представлять неоднозначное время или недопустимое время.

При преобразовании dateTimeOffset значения в часовой пояс назначения этот метод учитывает все правила корректировки, действующие в часовом поясе назначения.

Если преобразование dateTimeOffset результатов в значение даты и времени, которое DateTimeOffset.MinValue раньше или более DateTimeOffset.MaxValueпоздней версии, этот метод возвращает DateTimeOffset.MinValue или DateTimeOffset.MaxValueсоответственно.

См. также раздел

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

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs

Преобразует время из одного часового пояса в другой.

public:
 static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo ^ sourceTimeZone, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTime * TimeZoneInfo * TimeZoneInfo -> DateTime
Public Shared Function ConvertTime (dateTime As DateTime, sourceTimeZone As TimeZoneInfo, destinationTimeZone As TimeZoneInfo) As DateTime

Параметры

dateTime
DateTime

Дата и время преобразования.

sourceTimeZone
TimeZoneInfo

Часовой пояс dateTime.

destinationTimeZone
TimeZoneInfo

Часовой пояс для преобразования dateTime .

Возвращаемое значение

Дата и время в часовом поясе назначения, соответствующее dateTime параметру в исходном часовом поясе.

Исключения

Kind Свойство dateTime параметра равноLocal, но sourceTimeZone параметр не равенLocal.

-или-

Kind Свойство dateTime параметра равноUtc, но sourceTimeZone параметр не равенUtc.

-или-

Параметр dateTime является недопустимым временем (то есть представляет время, которое не существует из-за правил корректировки часового пояса).

Параметр sourceTimeZone имеет значение null.

-или-

Параметр destinationTimeZone имеет значение null.

Примеры

В следующем примере показано использование метода для преобразования из Гавайского стандартного ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) времени в местное время.

DateTime hwTime = new DateTime(2007, 02, 01, 08, 00, 00);
try
{
   TimeZoneInfo hwZone = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
   Console.WriteLine("{0} {1} is {2} local time.", 
           hwTime, 
           hwZone.IsDaylightSavingTime(hwTime) ? hwZone.DaylightName : hwZone.StandardName, 
           TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local));
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Hawaiian Standard Time zone has been corrupted.");
}
let hwTime = DateTime(2007, 02, 01, 08, 00, 00)
try
    let hwZone = TimeZoneInfo.FindSystemTimeZoneById "Hawaiian Standard Time"
    printfn $"{hwTime} {if hwZone.IsDaylightSavingTime hwTime then hwZone.DaylightName else hwZone.StandardName} is {TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local)} local time." 
with
| :? TimeZoneNotFoundException ->
    printfn "The registry does not define the Hawaiian Standard Time zone."
| :? InvalidTimeZoneException ->
    printfn "Registry data on the Hawaiian Standard Time zone has been corrupted."
Dim hwTime As Date = #2/01/2007 8:00:00 AM#
Try
   Dim hwZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time")
   Console.WriteLine("{0} {1} is {2} local time.", _
                     hwTime, _
                     IIf(hwZone.IsDaylightSavingTime(hwTime), hwZone.DaylightName, hwZone.StandardName), _
                     TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local))
Catch e As TimeZoneNotFoundException
   Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.")
Catch e As InvalidTimeZoneException
   Console.WriteLine("Registry data on the Hawaiian Standard Time zone has been corrupted.")
End Try

Комментарии

При преобразовании ConvertTime метод применяет все правила корректировки, действующие в часовом поясе destinationTimeZone .

Значение Kind свойства dateTime параметра должно соответствовать sourceTimeZone параметру, как показано в следующей таблице.

Значение DateTime.Kind значение sourceTimeZone Поведение метода
DateTimeKind.Utc TimeZoneInfo.UtcРавно. dateTime Преобразуется в время целевого часового пояса.
DateTimeKind.Utc Не равно TimeZoneInfo.Utc. ArgumentExceptionСоздает исключение .
DateTimeKind.Local TimeZoneInfo.LocalРавно. dateTime Преобразуется в время целевого часового пояса.
DateTimeKind.Local Не равно TimeZoneInfo.Local. ArgumentExceptionСоздает исключение .
DateTimeKind.Unspecified Любой. dateTime Преобразуется в время целевого часового пояса.

Кроме того, вы можете преобразовать в координированное универсальное время (UTC) или из нее ConvertTimeFromUtc , вызвав методы и ConvertTimeToUtc методы.

Свойство Kind возвращаемого DateTime значения задано, как показано в следующей таблице.

Состояние Возвращаемое значение свойства Kind
Аргумент destinationTimeZone имеет значение TimeZoneInfo.Utc. DateTimeKind.Utc
Аргумент destinationTimeZone имеет значение TimeZoneInfo.Local. DateTimeKind.Local
Все остальные значения даты и времени, часовых поясов источника и часовых поясов назначения. DateTimeKind.Unspecified

Если значение dateTime параметра является неоднозначным временем в исходном часовом поясе, оно интерпретируется как стандартное время. dateTime Если параметр является недопустимым временем в исходном часовом поясе, этот метод вызывает исключениеArgumentException.

Если преобразование dateTime результатов в значение даты и времени, которое DateTime.MinValue раньше или более DateTime.MaxValueпоздней версии, этот метод возвращает DateTime.MinValue или DateTime.MaxValueсоответственно.

Метод ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) создает ArgumentException исключение, если DateTime.Kind свойство аргумента dateTime является DateTimeKind.Local , но sourceTimeZone аргумент не TimeZoneInfo.Localявляется. Чтобы определить, является ли исходный часовой пояс локальным часовом поясом или универсальным часовом поясом, метод проверяет равенство ссылок вместо тестирования на равенство значений с методом Equals(TimeZoneInfo) . Обратите внимание, что TimeZoneInfo объекты, представляющие локальный часовой пояс и извлекаемые путем вызова FindSystemTimeZoneById метода, не имеют ссылочной равенства с TimeZoneInfo.Local. Кроме того, TimeZoneInfo объекты, представляющие локальный или универсальный часовой пояс и извлекаемые путем итерации коллекции, возвращаемой GetSystemTimeZones методом, не имеют ссылочной равенства с TimeZoneInfo.Local или TimeZoneInfo.Utc. В качестве альтернативы можно вызвать ConvertTimeBySystemTimeZoneId(DateTime, String, String) метод.

См. также раздел

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