TimeZoneInfo.ConvertTime Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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).