Lire en anglais

Partager via


DateTime.FromFileTime(Int64) Méthode

Définition

Convertit l'heure de fichier Windows spécifiée en heure locale équivalente.

C#
public static DateTime FromFileTime(long fileTime);

Paramètres

fileTime
Int64

Heure de fichier Windows exprimée en graduations.

Retours

Objet qui représente l'heure locale équivalente à la date et à l'heure représentées par le paramètre fileTime.

Exceptions

fileTime est inférieur à 0 ou représente une heure supérieure à DateTime.MaxValue.

Exemples

L’exemple suivant illustre la FromFileTime méthode.

C#
public System.TimeSpan FileAge(long fileCreationTime) {

    System.DateTime now = System.DateTime.Now;
    try {
        System.DateTime fCreationTime =
            System.DateTime.FromFileTime(fileCreationTime);
        System.TimeSpan fileAge = now.Subtract(fCreationTime);
        return fileAge;				
    }
    catch (ArgumentOutOfRangeException) {
        // fileCreationTime is not valid, so re-throw the exception.
        throw;
    }
}

Remarques

Une heure de fichier Windows est une valeur 64 bits qui représente le nombre d’intervalles de 100 nanosecondes qui se sont écoulés depuis 12:00 minuit, le 1er janvier 1601 A.D. (C.E.) Temps universel coordonné (UTC). Windows utilise une heure de fichier pour enregistrer le moment où une application crée, accède ou écrit dans un fichier.

Le fileTime paramètre spécifie une durée de fichier exprimée en 100 nanosecondes.

À compter de .NET Framework version 2.0, la valeur de retour est une DateTime propriété dont Kind la propriété est DateTimeKind.Local.

Notes pour les appelants

En règle générale, la FromFileTime(Int64) méthode restaure une DateTime valeur qui a été enregistrée par la ToFileTime() méthode . Toutefois, les deux valeurs peuvent différer dans les conditions suivantes :

  • Si la sérialisation et la désérialisation de la DateTime valeur se produisent dans des fuseaux horaires différents. Par exemple, si une DateTime valeur dont l’heure est 12:30 dans le fuseau horaire de l’Est des États-Unis est sérialisée, puis désérialisée dans le fuseau horaire des États-Unis Pacifique, la valeur d’origine de 12:30 p.M. est ajustée à 9 h 30 pour refléter la différence entre les deux fuseaux horaires.

  • Si la DateTime valeur sérialisée représente une heure non valide dans le fuseau horaire local. Dans ce cas, la ToFileTime() méthode ajuste la valeur restaurée DateTime afin qu’elle représente une heure valide dans le fuseau horaire local.

    Par exemple, le passage de l’heure standard à l’heure d’été se produit dans le fuseau horaire des États-Unis pacifique le 14 mars 2010, à 2 h 00, lorsque l’heure avance d’une heure, à 3 h 00. Cet intervalle d’heure est une heure non valide, c’est-à-dire un intervalle de temps qui n’existe pas dans ce fuseau horaire. L’exemple suivant montre que lorsqu’une heure qui se trouve dans cette plage est convertie en valeur entière longue par la ToFileTime() méthode et est ensuite restaurée par la FromFileTime(Int64) méthode, la valeur d’origine est ajustée pour devenir une heure valide. Vous pouvez déterminer si une valeur de date et d’heure particulière peut faire l’objet d’une modification en la transmettant à la méthode, comme l’illustre IsInvalidTime(DateTime) l’exemple.

    C#
    using System;
    
    public class Example
    {
       public static void Main()
       {
          DateTime date1 = new DateTime(2010, 3, 14, 2, 30, 00);
          Console.WriteLine("Invalid Time: {0}",
                            TimeZoneInfo.Local.IsInvalidTime(date1));
          long ft = date1.ToFileTime();
          DateTime date2 = DateTime.FromFileTime(ft);
          Console.WriteLine("{0} -> {1}", date1, date2);
       }
    }
    // The example displays the following output:
    //       Invalid Time: True
    //       3/14/2010 2:30:00 AM -> 3/14/2010 3:30:00 AM
    

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Voir aussi