Auf Englisch lesen

Teilen über


DateTime.FromFileTime(Int64) Methode

Definition

Konvertiert die angegebene Windows-Dateizeit in eine entsprechende Ortszeit.

public static DateTime FromFileTime (long fileTime);

Parameter

fileTime
Int64

Eine Windows-Dateizeit in Ticks.

Gibt zurück

Ein Objekt, das die Ortszeit darstellt, die der Datums- und Uhrzeitangabe entspricht, die durch den fileTime-Parameter dargestellt wird.

Ausnahmen

fileTime ist kleiner als 0 oder stellt eine Zeit größer als DateTime.MaxValue dar.

Beispiele

Das folgende Beispiel veranschaulicht die FromFileTime Methode.

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;
    }
}

Hinweise

Eine Windows-Dateizeit ist ein 64-Bit-Wert, der die Anzahl von 100 Nanosekundenintervallen darstellt, die seit 12:00 Uhr, 1. Januar 1601 n. Chr. (C.E.) verstrichen sind. Koordinierte Weltzeit (UTC). Windows verwendet eine Dateizeit, um aufzuzeichnen, wann eine Anwendung eine Datei erstellt, darauf zugreift oder in diese schreibt.

Der fileTime Parameter gibt eine Dateizeit an, die in 100-Nanosekunden-Ticks ausgedrückt wird.

Ab .NET Framework Version 2.0 ist der Rückgabewert ein DateTime Wert, dessen Kind Eigenschaft istDateTimeKind.Local.

Hinweise für Aufrufer

Normalerweise stellt die FromFileTime(Int64) -Methode einen DateTime Wert wieder her, der von der ToFileTime() -Methode gespeichert wurde. Die beiden Werte können sich jedoch unter den folgenden Bedingungen unterscheiden:

  • Wenn die Serialisierung und Deserialisierung des Werts DateTime in verschiedenen Zeitzonen erfolgen. Wenn beispielsweise ein DateTime Wert mit einer Zeit von 12:30 Uhr in der östlichen Zeitzone USA serialisiert und dann in der us-pazifischen Zeitzone deserialisiert wird, wird der ursprüngliche Wert von 12:30 P.M. auf 9:30 A.M. angepasst, um den Unterschied zwischen den beiden Zeitzonen widerzuspiegeln.

  • Wenn der DateTime serialisierte Wert eine ungültige Zeit in der lokalen Zeitzone darstellt. In diesem Fall passt die ToFileTime() Methode den wiederhergestellten DateTime Wert so an, dass er eine gültige Zeit in der lokalen Zeitzone darstellt.

    Beispielsweise erfolgt der Übergang von der Standardzeit zur Sommerzeit in der US Pacific Time Zone am 14. März 2010 um 2:00 Uhr, wenn die Zeit um eine Stunde auf 3:00 Uhr a.M. Dieses Stundenintervall ist eine ungültige Zeit, d. h. ein Zeitintervall, das in dieser Zeitzone nicht vorhanden ist. Das folgende Beispiel zeigt, dass der ursprüngliche Wert angepasst wird, wenn eine Zeit, die in diesen Bereich fällt, von der ToFileTime() -Methode in einen langen ganzzahligen Wert konvertiert und dann von der FromFileTime(Int64) -Methode wiederhergestellt wird. Sie können bestimmen, ob ein bestimmter Datums- und Uhrzeitwert geändert werden kann, indem Sie ihn an die IsInvalidTime(DateTime) -Methode übergeben, wie das Beispiel veranschaulicht.

    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
    

Gilt für:

Produkt Versionen
.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
.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

Weitere Informationen