Condividi tramite


DateTime.ToFileTime Metodo

Definizione

Converte il valore dell'oggetto DateTime corrente in un'ora di un file di Windows.

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

Restituisce

Int64

Valore dell'oggetto DateTime corrente espresso come un'ora di un file di Windows.

Eccezioni

L'ora del file risultante rappresenterebbe una data e un'ora antecedenti alle 0.00 UTC del 1° gennaio 1601. UTC.

Esempio

Nell'esempio seguente viene illustrato il ToFileTime metodo.

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

Commenti

Un'ora del file Windows è un valore a 64 bit che rappresenta il numero di intervalli di 100 nanosecondi trascorsi dalla mezzanotte delle 12.00 del 1° gennaio 1601 d.C. (C.E.) Coordinated Universal Time (UTC). Windows un tempo file per registrare quando un'applicazione crea, accede o scrive in un file.

Il metodo usa la proprietà per determinare se l'oggetto corrente è un'ora locale, un'ora UTC o un tipo di ora non specificato che viene considerato come ora ToFileTime Kind DateTime locale.

Note per i chiamanti

In genere, FromFileTime(Int64) il metodo ripristina DateTime un valore salvato dal metodo ToFileTime() . Tuttavia, i due valori possono differire nelle condizioni seguenti:

  • Se la serializzazione e la deserializzazione del DateTime valore si verificano in fusi orari diversi. Ad esempio, se un DateTime valore con un'ora di 12:30 P.M. nel fuso orario fuso orientale degli Stati Uniti viene serializzato e quindi deserializzato nel fuso orario del Pacifico degli Stati Uniti, il valore originale delle 12:30 viene regolato alle 9:30 per riflettere la differenza tra i due fusi orari.

  • Se il DateTime valore serializzato rappresenta un'ora non valida nel fuso orario locale. In questo caso, il metodo modifica il valore ripristinato in modo che rappresenti ToFileTime() DateTime un'ora valida nel fuso orario locale.

Ad esempio, la transizione dall'ora solare all'ora legale si verifica nel fuso orario del Pacifico degli Stati Uniti il 14 marzo 2010, alle 2:00, quando l'ora avanza di un'ora, alle 3:00 Questo intervallo di ore non è valido, ad esempio un intervallo di tempo che non esiste in questo fuso orario. Nell'esempio seguente viene illustrato che quando un'ora che rientra in questo intervallo viene convertita in un valore long integer dal metodo e quindi ripristinata dal metodo , il valore originale viene modificato in modo da diventare un'ora ToFileTime() FromFileTime(Int64) valida. È possibile determinare se un determinato valore di data e ora può essere soggetto a modifiche passandolo al metodo IsInvalidTime(DateTime) , come illustrato nell'esempio.

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

Si applica a

Vedi anche