Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

DateTime.ToUniversalTime, méthode

Convertit la valeur de l'objet DateTime en cours 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 actif, 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.

L'heure de temps universel (UTC, Universal Time Coordinated) est égale à 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'objet DateTime en cours.

Remarque importanteImportant

Sur les systèmes Windows XP, la méthode ToUniversalTime reconnaît uniquement la règle de réglage actuelle lors de la conversion de l'heure locale en heure UTC. En conséquence, les conversions pour les périodes antérieures à l'entrée en vigueur de la règle de réglage actuelle peuvent ne pas refléter correctement la différence entre l'heure locale et l'UTC.

ہ partir du .NET Framework version 2.0, la valeur retournée par la méthode ToUniversalTime est déterminée par la propriété Kind de l'objet DateTime en cours. Le tableau suivant décrit les résultats possibles.

Genre

Résultats

Utc

Aucune conversion n'est effectuée.

Local

L'objet DateTime en cours est converti en UTC.

Unspecified

L'objet DateTime en cours est supposé être une heure locale, et la conversion est effectuée comme si Kind était Local.

RemarqueRemarque

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

Si la valeur de l'instance de date et heure est une heure ambiguë, cette méthode suppose qu'il s'agit d'une heure standard. (Une heure ambiguë est une heure qui peut mapper vers une heure standard ou une heure d'été dans le fuseau horaire local) Si la valeur de l'instance de date et heure est une heure non valide, cette méthode soustrait simplement l'heure locale de l'offset UTC du fuseau horaire local pour retourner UTC. (Une heure non valide est une heure qui n'existe pas à cause de l'application des règles de réglage de l'heure d'été.)

Remarques à l'attention des appelants

La méthode ToUniversalTime est parfois utilisée pour convertir un temps local en UTC. Ensuite, la méthode ToLocalTime est 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 seront pas égales. Pour informations supplémentaires et un exemple, consultez la méthode ToLocalTime.

Sur les systèmes Windows XP, la méthode ToUniversalTime reconnaît uniquement la règle d'ajustement actuelle pour le fuseau horaire local, qu'il applique à toutes les dates, notamment les dates de bas niveau (autrement dit, les dates qui sont en avance par rapport à la date de début de la règle d'ajustement actuelle). Les applications qui fonctionnent sur Windows XP et qui requièrent des calculs de date et d'heure locales historiquement exacts doivent contourner ce comportement en utilisant la méthode FindSystemTimeZoneById pour extraire un objet TimeZoneInfo qui correspond au fuseau horaire local et en appelant sa méthode TimeZoneInfo.ConvertTimeToUtc(DateTime, TimeZoneInfo).

L'exemple suivant illustre la différence entre ToUniversalTime et les méthodes de TimeZoneInfo.ConvertTimeToUtc(DateTime, TimeZoneInfo) sur un système d'Windows XP au fuseau horaire du Pacifique des États-Unis. Les deux premiers appels de méthode appliquent la règle d'ajustement de fuseau horaire actuel (lequel est entré en vigueur en 2007) à une date en 2006. La règle d'ajustement actuelle prévoit la transition à l'heure d'été le deuxième dimanche de mars ; la règle précédente, qui était appliquée en 2006 a prévu la transition à l'heure d'été le premier dimanche d'avril. Seul le troisième appel de la méthode exécute cette conversion des date et heure historiques correctement.


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 de code suivant illustre la méthode ToUniversalTime.


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

			System.DateTime localDateTime;
			try {
				localDateTime = System.DateTime.Parse(strDateTime);
			}
			catch (System.FormatException) {
				System.Console.WriteLine("Invalid format.");
				return;
			}

			System.DateTime univDateTime = localDateTime.ToUniversalTime();

			System.Console.WriteLine("{0} local time is {1} universal time.",
									 localDateTime,
									 univDateTime); 
			
			System.Console.WriteLine("Enter a date and time in universal time.");
			strDateTime = System.Console.ReadLine();

			try {
				univDateTime = System.DateTime.Parse(strDateTime);
			}
			catch (System.FormatException) {
				System.Console.WriteLine("Invalid format.");
				return;
			}

			localDateTime = univDateTime.ToLocalTime();

			System.Console.WriteLine("{0} universal time is {1} local time.",
									 univDateTime,
									 localDateTime); 


L'exemple suivant utilise la méthode SpecifyKind pour montrer comment la propriété Kind influence les méthodes de conversion ToLocalTime et ToUniversalTime.


// 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

*/


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft