Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

DateTime.ToUniversalTime méthode ()

 

Date de publication : novembre 2016

Convertit la valeur de l'objet DateTime actuel en Temps universel coordonné (UTC).

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public DateTime ToUniversalTime()

Valeur de retour

Type: System.DateTime

Objet dont la propriété Kind est Utc et dont la valeur est l'heure UTC équivalente à la valeur de l'objet DateTime actuel, ou MaxValue si la valeur convertie est trop grande pour être représentée par un objet DateTime, ou MinValue si la valeur convertie est trop petite pour être représentée par un objet DateTime.

Le temps universel coordonné (UTC) est égal à l’heure locale moins l’offset UTC. Pour plus d’informations sur l’offset UTC, consultez TimeZone.GetUtcOffset. La conversion prend également en compte la règle de l’heure d’été qui s’applique à l’heure représentée par l’actuel DateTime objet.

System_CAPS_importantImportant

Sur Windows XP systèmes, la ToUniversalTime méthode reconnaît uniquement la règle d’ajustement actuelle lors de la conversion de l’heure locale au format UTC. Par conséquent, les conversions pour les périodes avant l’entrée en vigueur de la règle d’ajustement actuelle ne peuvent pas refléter correctement la différence entre l’heure locale et l’heure UTC. 

En commençant par le .NET Framework version 2.0, la valeur retournée par la ToUniversalTime méthode est déterminée par le Kind propriété actuelles DateTime objet. Le tableau suivant décrit les résultats possibles.

Kind

Résultats

Utc

Aucune conversion n’est effectuée.

Local

En cours DateTime objet est converti au format UTC.

Unspecified

En cours DateTime objet est censé pour être une heure locale, et la conversion est effectuée comme si Kind ont été Local.

System_CAPS_noteRemarque

Le ToUniversalTime méthode convertit un DateTime la valeur de l’heure locale au format UTC. Pour convertir l’heure dans un fuseau horaire non local en heure UTC, utilisez la TimeZoneInfo.ConvertTimeToUtc(DateTime, TimeZoneInfo) (méthode). Pour convertir une heure dont l’offset UTC est connu, utilisez le ToUniversalTime (méthode).

Si la valeur de date et heure de l’instance est une heure ambiguë, cette méthode suppose qu’il est d’une heure d’hiver. (Une heure ambiguë est un objet qui peut mapper à une heure d’hiver ou à une heure dans le fuseau horaire local) Si la valeur de date et heure de l’instance est une heure non valide, cette méthode soustrait simplement l’heure locale à l’heure UTC du fuseau horaire local en décalage pour retourner l’heure UTC. (Une heure non valide est un objet qui n’existe pas en raison de l’application de règles d’ajustement de l’heure d’été).

Remarques à l’attention des appelants :

Le ToUniversalTime (méthode) est parfois utilisée pour convertir une heure locale au format UTC. Le ToLocalTime méthode est alors appelée pour restaurer l’heure locale d’origine. Toutefois, si l’heure d’origine représente une heure non valide dans le fuseau horaire local, les deux valeurs d’heure locale ne sera pas égales. Pour plus d’informations et obtenir un exemple, consultez la ToLocalTime (méthode).

Sur Windows XP systèmes, la ToUniversalTime méthode reconnaît uniquement la règle d’ajustement actuelle pour le fuseau horaire local, qu’il applique à toutes les dates, y compris les dates de bas niveau (autrement dit, les dates antérieures à la date de début de la règle d’ajustement actuelle). Applications s’exécutant sur Windows XP nécessitant une date locales historiquement exacts et les calculs de temps doivent contourner ce comportement à l’aide de la FindSystemTimeZoneById méthode pour récupérer un TimeZoneInfo qui correspond au fuseau horaire local de l’objet et en appelant sa TimeZoneInfo.ConvertTimeToUtc(DateTime, TimeZoneInfo) (méthode).

L’exemple suivant illustre la différence entre la ToUniversalTime et TimeZoneInfo.ConvertTimeToUtc(DateTime, TimeZoneInfo) méthodes sur un Windows XP système aux États-Unis. Pacifique (États-Unis). Les première deux appels de méthode s’appliquent à la règle d’ajustement de fuseau horaire actuel (qui est entré en vigueur en 2007) à une date en 2006. La règle d’ajustement actuelle prévoit la transition à l’heure sur le deuxième dimanche de mars ; la règle précédente, qui était en vigueur en 2006 a prévu la transition vers l’heure d’été pour le premier dimanche d’avril. Le troisième appel de méthode effectue précisément cette date historique et la durée de la conversion.

using System;

public class Example
{
   public static void Main()
   {
      DateTime date1 = new DateTime(2006, 3, 21, 2, 0, 0);

      Console.WriteLine(date1.ToUniversalTime());
      Console.WriteLine(TimeZoneInfo.ConvertTimeToUtc(date1));

      TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");  
      Console.WriteLine(TimeZoneInfo.ConvertTimeToUtc(date1, tz));     
   }
}
// The example displays the following output on Windows XP systems:
//       3/21/2006 9:00:00 AM
//       3/21/2006 9:00:00 AM
//       3/21/2006 10:00:00 AM

L’exemple suivant illustre la ToUniversalTime (méthode).

using System;

class Example
{
	static void Main()
	{
		DateTime localDateTime, univDateTime;

		Console.WriteLine("Enter a date and time.");
		string strDateTime = Console.ReadLine();

		try {
			localDateTime = DateTime.Parse(strDateTime);
    		univDateTime = localDateTime.ToUniversalTime();

    		Console.WriteLine("{0} local time is {1} universal time.",
   								localDateTime,
    								univDateTime); 
		}
		catch (FormatException) {
			Console.WriteLine("Invalid format.");
			return;
		}

		Console.WriteLine("Enter a date and time in universal time.");
		strDateTime = Console.ReadLine();

		try {
			univDateTime = DateTime.Parse(strDateTime);
    		localDateTime = univDateTime.ToLocalTime();

    		Console.WriteLine("{0} universal time is {1} local time.",
    								 univDateTime,
    								 localDateTime); 
		}
		catch (FormatException) {
			Console.WriteLine("Invalid format.");
			return;
		}

	}
}
// The example displays output like the following when run on a 
// computer whose culture is en-US in the Pacific Standard Time zone:
//     Enter a date and time.
//     12/10/2015 6:18 AM
//     12/10/2015 6:18:00 AM local time is 12/10/2015 2:18:00 PM universal time.
//     Enter a date and time in universal time.
//     12/20/2015 6:42:00
//     12/20/2015 6:42:00 AM universal time is 12/19/2015 10:42:00 PM local time.

L’exemple suivant utilise le SpecifyKind méthode afin d’illustrer comment les Kind propriété a une incidence sur la ToLocalTime et ToUniversalTime méthodes de conversion.

// This code example demonstrates the DateTime Kind, Now, and
// UtcNow properties, and the SpecifyKind(), ToLocalTime(), 
// and ToUniversalTime() methods.

using System;

class Sample 
{
    public static void Main() 
    {
// Get the date and time for the current moment, adjusted 
// to the local time zone.

    DateTime saveNow = DateTime.Now;

// Get the date and time for the current moment expressed 
// as coordinated universal time (UTC).

    DateTime saveUtcNow = DateTime.UtcNow;
    DateTime myDt;

// Display the value and Kind property of the current moment 
// expressed as UTC and local time.

    DisplayNow("UtcNow: ..........", saveUtcNow);
    DisplayNow("Now: .............", saveNow);
    Console.WriteLine();

// Change the Kind property of the current moment to 
// DateTimeKind.Utc and display the result.

    myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Utc);
    Display("Utc: .............", myDt);

// Change the Kind property of the current moment to 
// DateTimeKind.Local and display the result.

    myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Local);
    Display("Local: ...........", myDt);

// Change the Kind property of the current moment to 
// DateTimeKind.Unspecified and display the result.

    myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Unspecified);
    Display("Unspecified: .....", myDt);
    }

// Display the value and Kind property of a DateTime structure, the 
// DateTime structure converted to local time, and the DateTime 
// structure converted to universal time. 

    public static string datePatt = @"M/d/yyyy hh:mm:ss tt";
    public static void Display(string title, DateTime inputDt)
    {
    DateTime dispDt = inputDt;
    string dtString;

// Display the original DateTime.

    dtString = dispDt.ToString(datePatt);
    Console.WriteLine("{0} {1}, Kind = {2}", 
                      title, dtString, dispDt.Kind);

// Convert inputDt to local time and display the result. 
// If inputDt.Kind is DateTimeKind.Utc, the conversion is performed.
// If inputDt.Kind is DateTimeKind.Local, the conversion is not performed.
// If inputDt.Kind is DateTimeKind.Unspecified, the conversion is 
// performed as if inputDt was universal time.

    dispDt = inputDt.ToLocalTime();
    dtString = dispDt.ToString(datePatt);
    Console.WriteLine("  ToLocalTime:     {0}, Kind = {1}", 
                      dtString, dispDt.Kind);

// Convert inputDt to universal time and display the result. 
// If inputDt.Kind is DateTimeKind.Utc, the conversion is not performed.
// If inputDt.Kind is DateTimeKind.Local, the conversion is performed.
// If inputDt.Kind is DateTimeKind.Unspecified, the conversion is 
// performed as if inputDt was local time.

    dispDt = inputDt.ToUniversalTime();
    dtString = dispDt.ToString(datePatt);
    Console.WriteLine("  ToUniversalTime: {0}, Kind = {1}", 
                      dtString, dispDt.Kind);
    Console.WriteLine();
    }

// Display the value and Kind property for DateTime.Now and DateTime.UtcNow.

    public static void DisplayNow(string title, DateTime inputDt)
    {
    string dtString = inputDt.ToString(datePatt);
    Console.WriteLine("{0} {1}, Kind = {2}", 
                      title, dtString, inputDt.Kind);
    }
}

/*
This code example produces the following results:

UtcNow: .......... 5/6/2005 09:34:42 PM, Kind = Utc
Now: ............. 5/6/2005 02:34:42 PM, Kind = Local

Utc: ............. 5/6/2005 02:34:42 PM, Kind = Utc
  ToLocalTime:     5/6/2005 07:34:42 AM, Kind = Local
  ToUniversalTime: 5/6/2005 02:34:42 PM, Kind = Utc

Local: ........... 5/6/2005 02:34:42 PM, Kind = Local
  ToLocalTime:     5/6/2005 02:34:42 PM, Kind = Local
  ToUniversalTime: 5/6/2005 09:34:42 PM, Kind = Utc

Unspecified: ..... 5/6/2005 02:34:42 PM, Kind = Unspecified
  ToLocalTime:     5/6/2005 07:34:42 AM, Kind = Local
  ToUniversalTime: 5/6/2005 09:34:42 PM, Kind = Utc

*/

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: