DateTime.ToFileTime Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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":::