Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo TimeZoneInfo.ConvertTimeToUtc (DateTime, TimeZoneInfo)

 

Data di pubblicazione: ottobre 2016

Converte l'ora di un fuso orario specificato in ora UTC (Coordinated Universal Time).

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public static DateTime ConvertTimeToUtc(
	DateTime dateTime,
	TimeZoneInfo sourceTimeZone
)

Parametri

dateTime
Type: System.DateTime

Data e ora da convertire.

sourceTimeZone
Type: System.TimeZoneInfo

Fuso orario di dateTime.

Valore restituito

Type: System.DateTime

Ora UTC (Coordinated Universal Time) corrispondente al parametro dateTime. La proprietà Kind dell'oggetto DateTime è sempre impostata su DateTimeKind.Utc.

Exception Condition
ArgumentException

dateTime .Kind è DateTimeKind.Utc e sourceTimeZone non è uguale a TimeZoneInfo.Utc.

-oppure-

dateTime .Kind è DateTimeKind.Local e sourceTimeZone non è uguale a TimeZoneInfo.Local.

-oppure-

sourceTimeZone .IsInvalidDateTime( dateTime ) restituisce true.

ArgumentNullException

sourceTimeZone è null.

Se il Kind proprietà del dateTime parametro è uguale a DateTimeKind.Utc e sourceTimeZone parametro è uguale a TimeZoneInfo.Utc, questo metodo restituisce dateTime senza eseguire alcuna conversione.

Se dateTime corrisponde a un'ora ambigua, questo metodo presuppone che sia l'ora solare del fuso orario di origine. Se dateTime corrisponde a un'ora non valida, questo metodo genera un ArgumentException.

Se l'equivalente di Coordinated Universal Time (UTC) di dateTime è precedente a DateTime.MinValue o versioni successive che DateTime.MaxValue, questo metodo restituisce MinValue o MaxValue, rispettivamente.

Note per i chiamanti:

In Windows XP sistemi, il metodo si applica solo alla regola di rettifica corrente per la conversione del fuso orario se sourceTimeZone è TimeZoneInfo.Local. Di conseguenza, il metodo non può in modo accurato convertire volte per periodi precedenti la regola di rettifica corrente. Per ulteriori informazioni, vedere la sezione Note per i chiamanti nel Local proprietà.

Nell'esempio seguente recupera la data corrente del sistema locale e convertirla in Coordinated Universal Time (ora UTC), quindi lo converte per ora solare Tokyo e infine riconvertita dall'ora solare Tokyo in UTC. Si noti che le due ore UTC siano identiche.

using System;

public class Example
{
   public static void Main()
   {
      // Get time in local time zone 
      DateTime thisTime = DateTime.Now;
      Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(thisTime) ?
                        TimeZoneInfo.Local.DaylightName : TimeZoneInfo.Local.StandardName, thisTime);
      Console.WriteLine("   UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(thisTime, TimeZoneInfo.Local));
      // Get Tokyo Standard Time zone
      TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
      DateTime tstTime = TimeZoneInfo.ConvertTime(thisTime, TimeZoneInfo.Local, tst);      
      Console.WriteLine("Time in {0} zone: {1}", tst.IsDaylightSavingTime(tstTime) ?
                        tst.DaylightName : tst.StandardName, tstTime);
      Console.WriteLine("   UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(tstTime, tst));
   }
}
// The example displays output like the following when run on a system in the
// U.S. Pacific Standard Time zone:
//       Time in Pacific Standard Time zone: 12/6/2013 10:57:51 AM
//          UTC Time: 12/6/2013 6:57:51 PM
//       Time in Tokyo Standard Time zone: 12/7/2013 3:57:51 AM
//          UTC Time: 12/6/2013 6:57:51 PM

.NET Framework
Disponibile da 3.5
Torna all'inizio
Mostra: