TimeZoneInfo.ConvertTime Metodo

Definizione

Converte un'ora nell'ora in un particolare fuso orario.

Overload

ConvertTime(DateTime, TimeZoneInfo)

Converte un'ora nell'ora in un particolare fuso orario.

ConvertTime(DateTimeOffset, TimeZoneInfo)

Converte un'ora nell'ora in un particolare fuso orario.

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Converte un'ora da un fuso orario a un altro.

ConvertTime(DateTime, TimeZoneInfo)

Origine:
TimeZoneInfo.cs
Origine:
TimeZoneInfo.cs
Origine:
TimeZoneInfo.cs

Converte un'ora nell'ora in un particolare fuso orario.

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

Parametri

dateTime
DateTime

Data e ora da convertire.

destinationTimeZone
TimeZoneInfo

Fuso orario in cui convertire dateTime.

Restituisce

Data e ora nel fuso orario di destinazione.

Eccezioni

Il valore del parametro dateTime rappresenta un'ora non valida.

Il valore del parametro destinationTimeZone è null.

Esempio

L'esempio seguente converte una matrice di valori di data e ora in orari nel fuso orario orientale degli Stati Uniti e del Canada. Indica che il fuso orario di origine dipende dalla proprietà DateTime.Kind del valore del DateTime di origine. Illustra inoltre che il metodo ConvertTime prende in considerazione le regolazioni del fuso orario, perché una regolazione del fuso orario si verifica sia nei fusi orari di origine che di destinazione alle 2:00 del 7 novembre 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.

Commenti

Quando si esegue la conversione, il metodo ConvertTime(DateTimeOffset, TimeZoneInfo) applica tutte le regole di regolazione applicate nel fuso orario destinationTimeZone.

Questo overload del metodo ConvertTime(DateTime, TimeZoneInfo) determina il fuso orario di origine dal valore della proprietà Kind del parametro dateTime, come illustrato nella tabella seguente.

Valore della proprietà Kind Fuso orario di origine Comportamento del metodo
DateTimeKind.Local Local Converte l'ora locale nell'ora in destinationTimeZone.
DateTimeKind.Utc Utc Converte l'ora UTC (Coordinated Universal Time) nell'ora in destinationTimeZone.
DateTimeKind.Unspecified Si presuppone che sia Local. Converte l'ora locale nell'ora in destinationTimeZone.

La proprietà Kind del valore DateTime restituito viene impostata come illustrato nella tabella seguente.

Condizione Valore della proprietà Kind restituito
Il destinationTimeZone è TimeZoneInfo.Utc. DateTimeKind.Utc
Il destinationTimeZone è TimeZoneInfo.Local. DateTimeKind.Local
Tutti gli altri valori di data e ora e fusi orari di destinazione. DateTimeKind.Unspecified

Se il valore del parametro dateTime è un'ora locale ambigua, viene interpretata come ora solare. Se il parametro dateTime non è un'ora locale non valida, questo metodo genera un ArgumentException.

Se la conversione di dateTime restituisce un valore di data e ora precedente a DateTime.MinValue o successivo a DateTime.MaxValue, questo metodo restituisce rispettivamente DateTime.MinValue o DateTime.MaxValue.

È anche possibile eseguire la conversione da o verso l'ora UTC chiamando i metodi ConvertTimeFromUtc e ConvertTimeToUtc.

Vedi anche

Si applica a

ConvertTime(DateTimeOffset, TimeZoneInfo)

Origine:
TimeZoneInfo.cs
Origine:
TimeZoneInfo.cs
Origine:
TimeZoneInfo.cs

Converte un'ora nell'ora in un particolare fuso orario.

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

Parametri

dateTimeOffset
DateTimeOffset

Data e ora da convertire.

destinationTimeZone
TimeZoneInfo

Fuso orario in cui convertire dateTimeOffset.

Restituisce

Data e ora nel fuso orario di destinazione.

Eccezioni

Il valore del parametro destinationTimeZone è null.

Esempio

L'esempio seguente converte una matrice di valori DateTimeOffset in orari nel fuso orario orientale degli Stati Uniti e del Canada. Illustra che il metodo ConvertTime prende in considerazione le regolazioni del fuso orario, perché una regolazione del fuso orario si verifica sia nei fusi orari di origine che di destinazione alle 2:00 del 7 novembre 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.

Commenti

Quando si esegue la conversione, il metodo ConvertTime(DateTimeOffset, TimeZoneInfo) applica tutte le regole di regolazione applicate nel fuso orario destinationTimeZone.

Questo overload è diverso dagli altri overload del metodo ConvertTime accettando un valore DateTimeOffset come primo parametro. Identifica la data e l'ora come offset rispetto all'ora UTC (Coordinated Universal Time) anziché alla data e all'ora in un particolare fuso orario. Di conseguenza, il parametro dateTimeOffset non può rappresentare un'ora ambigua o un'ora non valida.

Nella conversione del valore dateTimeOffset nell'ora nel fuso orario di destinazione, questo metodo tiene conto delle regole di regolazione applicate nel fuso orario di destinazione.

Se la conversione di dateTimeOffset restituisce un valore di data e ora precedente a DateTimeOffset.MinValue o successivo a DateTimeOffset.MaxValue, questo metodo restituisce rispettivamente DateTimeOffset.MinValue o DateTimeOffset.MaxValue.

Vedi anche

Si applica a

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Origine:
TimeZoneInfo.cs
Origine:
TimeZoneInfo.cs
Origine:
TimeZoneInfo.cs

Converte un'ora da un fuso orario a un altro.

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

Parametri

dateTime
DateTime

Data e ora da convertire.

sourceTimeZone
TimeZoneInfo

Fuso orario di dateTime.

destinationTimeZone
TimeZoneInfo

Fuso orario in cui convertire dateTime.

Restituisce

Data e ora nel fuso orario di destinazione che corrisponde al parametro dateTime nel fuso orario di origine.

Eccezioni

La proprietà Kind del parametro dateTime è Local, ma il parametro sourceTimeZone non è uguale a Local.

-o-

La proprietà Kind del parametro dateTime è Utc, ma il parametro sourceTimeZone non è uguale a Utc.

-o-

Il parametro dateTime è un'ora non valida, ovvero rappresenta un'ora che non esiste a causa delle regole di regolazione del fuso orario.

Il parametro sourceTimeZone è null.

-o-

Il parametro destinationTimeZone è null.

Esempio

Nell'esempio seguente viene illustrato l'uso del metodo ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) per eseguire la conversione dall'ora solare hawaiana all'ora locale.

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

Commenti

Quando si esegue la conversione, il metodo ConvertTime applica tutte le regole di regolazione applicate nel fuso orario destinationTimeZone.

Il valore della proprietà Kind del parametro dateTime deve corrispondere al parametro sourceTimeZone, come illustrato nella tabella seguente.

Valore DateTime.Kind valore sourceTimeZone Comportamento del metodo
DateTimeKind.Utc Uguale a TimeZoneInfo.Utc. Converte dateTime nell'ora del fuso orario di destinazione.
DateTimeKind.Utc Non è uguale a TimeZoneInfo.Utc. Genera un ArgumentException.
DateTimeKind.Local Uguale a TimeZoneInfo.Local. Converte dateTime nell'ora del fuso orario di destinazione.
DateTimeKind.Local Non è uguale a TimeZoneInfo.Local. Genera un ArgumentException.
DateTimeKind.Unspecified Qualunque. Converte dateTime nell'ora del fuso orario di destinazione.

È anche possibile eseguire la conversione da o verso l'ora UTC (Coordinated Universal Time) chiamando i metodi ConvertTimeFromUtc e ConvertTimeToUtc.

La proprietà Kind del valore DateTime restituito viene impostata come illustrato nella tabella seguente.

Condizione Valore della proprietà Kind restituito
L'argomento destinationTimeZone è TimeZoneInfo.Utc. DateTimeKind.Utc
L'argomento destinationTimeZone è TimeZoneInfo.Local. DateTimeKind.Local
Tutti gli altri valori di data e ora, fusi orari di origine e fusi orari di destinazione. DateTimeKind.Unspecified

Se il valore del parametro dateTime è un'ora ambigua nel fuso orario di origine, viene interpretata come ora solare. Se il parametro dateTime è un'ora non valida nel fuso orario di origine, questo metodo genera un ArgumentException.

Se la conversione di dateTime restituisce un valore di data e ora precedente a DateTime.MinValue o successivo a DateTime.MaxValue, questo metodo restituisce rispettivamente DateTime.MinValue o DateTime.MaxValue.

Il metodo ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) genera un'eccezione ArgumentException se la proprietà DateTime.Kind dell'argomento dateTime è DateTimeKind.Local ma l'argomento sourceTimeZone non è TimeZoneInfo.Local. Per determinare se il fuso orario di origine è il fuso orario locale o il fuso orario universale, il metodo verifica l'uguaglianza dei riferimenti anziché verificare l'uguaglianza dei valori con il metodo Equals(TimeZoneInfo). Si noti che TimeZoneInfo oggetti che rappresentano il fuso orario locale e che vengono recuperati chiamando il metodo FindSystemTimeZoneById non hanno uguaglianza referenziale con TimeZoneInfo.Local. Inoltre, TimeZoneInfo oggetti che rappresentano il fuso orario locale o universale e che vengono recuperati eseguendo l'iterazione della raccolta restituita dal metodo GetSystemTimeZones non hanno uguaglianza referenziale con TimeZoneInfo.Local o TimeZoneInfo.Utc. In alternativa, è possibile chiamare il metodo ConvertTimeBySystemTimeZoneId(DateTime, String, String).

Vedi anche

Si applica a