Compartilhar via


DateTime.ToFileTime Método

Definição

Converte o valor do objeto DateTime atual para uma hora de arquivo do Windows.

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

Retornos

Int64

O valor do objeto DateTime atual expresso como uma hora de arquivo do Windows.

Exceções

A hora do arquivo resultante representaria uma data e hora antes da meia-noite, 12:00, de 1º de janeiro de 1601, C.E. UTC.

Exemplos

O exemplo a seguir demonstra o ToFileTime método.

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

Comentários

Uma hora de arquivo do Windows é um valor de 64 bits que representa o número de intervalos de 100 nanossegundos desde a meia-noite de 12h00, 1º de janeiro de 1601 A.D. (C.E.) Tempo Universal Coordenado (UTC). O Windows usa uma hora de arquivo a ser registrada quando um aplicativo cria, acessa ou grava em um arquivo.

O ToFileTime método usa a Kind propriedade para determinar se o DateTime objeto atual é uma hora local, uma hora UTC ou um tipo de tempo não especificado que é tratado como uma hora local.

Notas aos Chamadores

Normalmente, o FromFileTime(Int64) método restaura um DateTime valor que foi salvo pelo ToFileTime() método. No entanto, os dois valores podem diferir nas seguintes condições:

-Se a serialização e a desserialização do DateTime valor ocorrerem em fusos horários diferentes. Por exemplo, se um DateTime valor com uma hora de 12:30 P.M. no fuso horário do leste dos EUA, é serializado e, em seguida, desserializado no fuso horário do Pacífico americano, o valor original de 12:30 P.M. está ajustado para 9:30 A.M. para refletir a diferença entre os dois fusos horários.

-Se o DateTime valor serializado representa uma hora inválida no fuso horário local. Nesse caso, o ToFileTime() método ajusta o valor restaurado DateTime para que ele represente uma hora válida no fuso horário local.

Por exemplo, a transição da hora padrão para o horário de verão ocorre no fuso horário do Pacífico dos EUA em 14 de março de 2010, às 02h00, quando a hora avança uma hora, para 03h00. Este intervalo de hora é uma hora inválida, ou seja, um intervalo de hora que não existe nesse fuso horário. O exemplo a seguir mostra que quando uma hora que está dentro desse intervalo é convertida em um valor inteiro longo pelo ToFileTime() método e, em seguida, é restaurada pelo FromFileTime(Int64) método, o valor original é ajustado para se tornar uma hora válida. É possível determinar se um valor de data e hora específico podem estar sujeito à modificação passando-o para o método IsInvalidTime(DateTime), como o exemplo ilustra.

::: código Language = "CSharp" origem = "~/Samples/Snippets/Csharp/VS_Snippets_CLR_System/System.DateTime.FromFileTime/cs/fromfiletime1.cs" ID = "Snippet1":::::: linguagem de código = "vb" Source = "~/Samples/Snippets/VisualBasic/VS_Snippets_CLR_System/System.DateTime.FromFileTime/VB/fromfiletime1.vb" ID = "Snippet1":::

Aplica-se a

Confira também