DateTime.ToFileTime Methode

Definition

Konvertiert den Wert des aktuellen DateTime-Objekts in eine Windows-Dateizeit.

public:
 long ToFileTime();
public long ToFileTime ();
member this.ToFileTime : unit -> int64
Public Function ToFileTime () As Long

Gibt zurück

Int64

Der Wert des aktuellen DateTime-Objekts als Windows-Dateizeit.

Ausnahmen

Die resultierende Dateizeitangabe würde ein Datum und eine Uhrzeit vor 24:00 Uhr am 1. Januar 1601 UTC unserer Zeitrechnung darstellen .

Beispiele

Das folgende Beispiel veranschaulicht die ToFileTime Methode.

int main()
{
   System::Console::WriteLine( "Enter the file path:" );
   String^ filePath = System::Console::ReadLine();
   if ( System::IO::File::Exists( filePath ) )
   {
      System::DateTime fileCreationDateTime = System::IO::File::GetCreationTime( filePath );
      __int64 fileCreationFileTime = fileCreationDateTime.ToFileTime();
      System::Console::WriteLine( "{0} in file time is {1}.", fileCreationDateTime, fileCreationFileTime );
   }
   else
   {
      System::Console::WriteLine( "{0} is an invalid file", filePath );
   }
}
static void Main(string[] args)
{
    System.Console.WriteLine("Enter the file path:");
    string filePath = System.Console.ReadLine();

    if (System.IO.File.Exists(filePath)) {
        System.DateTime fileCreationDateTime =
            System.IO.File.GetCreationTime(filePath);

        long fileCreationFileTime = fileCreationDateTime.ToFileTime();

        System.Console.WriteLine("{0} in file time is {1}.",
                                 fileCreationDateTime,
                                 fileCreationFileTime);
    }
    else {
        System.Console.WriteLine("{0} is an invalid file", filePath);
    }
}
Public Shared Sub Main()

   System.Console.WriteLine("Enter the file path:")
   Dim filePath As String
   filePath = System.Console.ReadLine()

   If System.IO.File.Exists(filePath) Then
      Dim fileCreationDateTime As System.DateTime
      fileCreationDateTime = System.IO.File.GetCreationTime(filePath)

      Dim fileCreationFileTime As Long
      fileCreationFileTime = fileCreationDateTime.ToFileTime()

      System.Console.WriteLine("{0} in file time is {1}.", _
                               fileCreationDateTime, _
                               fileCreationFileTime)
   Else
      System.Console.WriteLine("{0} is an invalid file", filePath)
   End If
End Sub

Hinweise

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

Die ToFileTime -Methode verwendet die Kind -Eigenschaft, um zu bestimmen, ob das aktuelle DateTime Objekt eine Ortszeit, eine UTC-Zeit oder eine nicht angegebene Art von Zeit ist, die als Ortszeit behandelt wird.

Hinweise für Aufrufer

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

– Wenn die Serialisierung und Deserialisierung des DateTime Werts in verschiedenen Zeitzonen erfolgt. Beispiel: Ein DateTime Wert mit einer Uhrzeit von 12:30 Uhr in der Zeitzone "USA, Osten" wird serialisiert und dann in der Zeitzone "USA- Pazifikzeit" deserialisiert, der ursprüngliche Wert von 12:30 Uhr. wird auf 9:30 Uhr 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 Zeitzone "USA- Pazifikzeit" am 14. März 2010 um 2:00 Uhr, wenn die Zeit um eine Stunde auf 3:00 Uhr steigt. Dieses Stundenintervall ist eine ungültige Zeit, d. h. ein Zeitintervall, das in dieser Zeitzone nicht vorhanden ist. Das folgende Beispiel zeigt, dass wenn eine Zeit, die in diesen Bereich fällt, von der -Methode in einen langen ganzzahligen Wert konvertiert ToFileTime() und dann von der -Methode wiederhergestellt FromFileTime(Int64) wird, der ursprüngliche Wert so angepasst wird, dass er zu einer gültigen Zeit 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 im 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

Siehe auch