Directory.GetLastWriteTimeUtc(String) 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.
Retorna a data e hora, no formato UTC (Tempo Universal Coordenado), em que o arquivo ou diretório especificado foi gravado pela última vez.
public:
static DateTime GetLastWriteTimeUtc(System::String ^ path);
public static DateTime GetLastWriteTimeUtc (string path);
static member GetLastWriteTimeUtc : string -> DateTime
Public Shared Function GetLastWriteTimeUtc (path As String) As DateTime
Parâmetros
- path
- String
O arquivo ou diretório para o qual obter informações de data e hora da modificação.
Retornos
Uma estrutura que está definida para a data e hora em que o arquivo ou diretório especificado foi gravado pela última vez. Esse valor é expresso em horário UTC.
Exceções
O chamador não tem a permissão necessária.
.NET Framework e versões do .NET Core anteriores à 2.1: path
é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Consulte caracteres inválidos com o método GetInvalidPathChars().
path
é null
.
O caminho especificado, o nome de arquivo, ou ambos excedem o tamanho máximo definido pelo sistema.
Exemplos
O exemplo a seguir ilustra as diferenças na saída ao usar a saída UTC (Tempo Universal Coordenado).
// This sample shows the differences between dates from methods that use
//coordinated universal time (UTC) format and those that do not.
using namespace System;
using namespace System::IO;
int main()
{
// Set the directory.
String^ n = "C:\\test\\newdir";
//Create two variables to use to set the time.
DateTime dtime1 = DateTime(2002,1,3);
DateTime dtime2 = DateTime(1999,1,1);
//Create the directory.
try
{
Directory::CreateDirectory( n );
}
catch ( IOException^ e )
{
Console::WriteLine( e );
}
//Set the creation and last access times to a variable DateTime value.
Directory::SetCreationTime( n, dtime1 );
Directory::SetLastAccessTimeUtc( n, dtime1 );
// Print to console the results.
Console::WriteLine( "Creation Date: {0}", Directory::GetCreationTime( n ) );
Console::WriteLine( "UTC creation Date: {0}", Directory::GetCreationTimeUtc( n ) );
Console::WriteLine( "Last write time: {0}", Directory::GetLastWriteTime( n ) );
Console::WriteLine( "UTC last write time: {0}", Directory::GetLastWriteTimeUtc( n ) );
Console::WriteLine( "Last access time: {0}", Directory::GetLastAccessTime( n ) );
Console::WriteLine( "UTC last access time: {0}", Directory::GetLastAccessTimeUtc( n ) );
//Set the last write time to a different value.
Directory::SetLastWriteTimeUtc( n, dtime2 );
Console::WriteLine( "Changed last write time: {0}", Directory::GetLastWriteTimeUtc( n ) );
}
// Obviously, since this sample deals with dates and times, the output will vary
// depending on when you run the executable. Here is one example of the output:
//Creation Date: 1/3/2002 12:00:00 AM
//UTC creation Date: 1/3/2002 8:00:00 AM
//Last write time: 12/31/1998 4:00:00 PM
//UTC last write time: 1/1/1999 12:00:00 AM
//Last access time: 1/2/2002 4:00:00 PM
//UTC last access time: 1/3/2002 12:00:00 AM
//Changed last write time: 1/1/1999 12:00:00 AM
// This sample shows the differences between dates from methods that use
//coordinated universal time (UTC) format and those that do not.
using System;
using System.IO;
namespace IOSamples
{
public class DirectoryUTCTime
{
public static void Main()
{
// Set the directory.
string n = @"C:\test\newdir";
//Create two variables to use to set the time.
DateTime dtime1 = new DateTime(2002, 1, 3);
DateTime dtime2 = new DateTime(1999, 1, 1);
//Create the directory.
try
{
Directory.CreateDirectory(n);
}
catch (IOException e)
{
Console.WriteLine(e);
}
//Set the creation and last access times to a variable DateTime value.
Directory.SetCreationTime(n, dtime1);
Directory.SetLastAccessTimeUtc(n, dtime1);
// Print to console the results.
Console.WriteLine("Creation Date: {0}", Directory.GetCreationTime(n));
Console.WriteLine("UTC creation Date: {0}", Directory.GetCreationTimeUtc(n));
Console.WriteLine("Last write time: {0}", Directory.GetLastWriteTime(n));
Console.WriteLine("UTC last write time: {0}", Directory.GetLastWriteTimeUtc(n));
Console.WriteLine("Last access time: {0}", Directory.GetLastAccessTime(n));
Console.WriteLine("UTC last access time: {0}", Directory.GetLastAccessTimeUtc(n));
//Set the last write time to a different value.
Directory.SetLastWriteTimeUtc(n, dtime2);
Console.WriteLine("Changed last write time: {0}", Directory.GetLastWriteTimeUtc(n));
}
}
}
// Obviously, since this sample deals with dates and times, the output will vary
// depending on when you run the executable. Here is one example of the output:
//Creation Date: 1/3/2002 12:00:00 AM
//UTC creation Date: 1/3/2002 8:00:00 AM
//Last write time: 12/31/1998 4:00:00 PM
//UTC last write time: 1/1/1999 12:00:00 AM
//Last access time: 1/2/2002 4:00:00 PM
//UTC last access time: 1/3/2002 12:00:00 AM
//Changed last write time: 1/1/1999 12:00:00 AM
// This sample shows the differences between dates from methods that use
//coordinated universal time (UTC) format and those that do not.
open System
open System.IO
// Set the directory.
let n = @"C:\test\newdir"
//Create two variables to use to set the time.
let dtime1 = DateTime(2002, 1, 3)
let dtime2 = DateTime(1999, 1, 1)
//Create the directory.
try
Directory.CreateDirectory n |> ignore
with :? IOException as e ->
printfn $"{e}"
//Set the creation and last access times to a variable DateTime value.
Directory.SetCreationTime(n, dtime1)
Directory.SetLastAccessTimeUtc(n, dtime1)
// Print to console the results.
printfn $"Creation Date: {Directory.GetCreationTime n}"
printfn $"UTC creation Date: {Directory.GetCreationTimeUtc n}"
printfn $"Last write time: {Directory.GetLastWriteTime n}"
printfn $"UTC last write time: {Directory.GetLastWriteTimeUtc n}"
printfn $"Last access time: {Directory.GetLastAccessTime n}"
printfn $"UTC last access time: {Directory.GetLastAccessTimeUtc n}"
//Set the last write time to a different value.
Directory.SetLastWriteTimeUtc(n, dtime2)
printfn $"Changed last write time: {Directory.GetLastWriteTimeUtc n}"
// Obviously, since this sample deals with dates and times, the output will vary
// depending on when you run the executable. Here is one example of the output:
//Creation Date: 1/3/2002 12:00:00 AM
//UTC creation Date: 1/3/2002 8:00:00 AM
//Last write time: 12/31/1998 4:00:00 PM
//UTC last write time: 1/1/1999 12:00:00 AM
//Last access time: 1/2/2002 4:00:00 PM
//UTC last access time: 1/3/2002 12:00:00 AM
//Changed last write time: 1/1/1999 12:00:00 AM
' This sample shows the differences between dates from methods that use
'coordinated universal time (UTC) format and those that do not.
Imports System.IO
Public Class DirectoryUTCTime
Public Shared Sub Main()
' Set the directory.
Dim n As String = "C:\test\newdir"
'Create two variables to use to set the time.
Dim dtime1 As New DateTime(2002, 1, 3)
Dim dtime2 As New DateTime(1999, 1, 1)
'Create the directory.
Try
Directory.CreateDirectory(n)
Catch e As IOException
Console.WriteLine(e)
End Try
'Set the creation and last access times to a variable DateTime value.
Directory.SetCreationTime(n, dtime1)
Directory.SetLastAccessTimeUtc(n, dtime1)
' Print to console the results.
Console.WriteLine("Creation Date: {0}", Directory.GetCreationTime(n))
Console.WriteLine("UTC creation Date: {0}", Directory.GetCreationTimeUtc(n))
Console.WriteLine("Last write time: {0}", Directory.GetLastWriteTime(n))
Console.WriteLine("UTC last write time: {0}", Directory.GetLastWriteTimeUtc(n))
Console.WriteLine("Last access time: {0}", Directory.GetLastAccessTime(n))
Console.WriteLine("UTC last access time: {0}", Directory.GetLastAccessTimeUtc(n))
'Set the last write time to a different value.
Directory.SetLastWriteTimeUtc(n, dtime2)
Console.WriteLine("Changed last write time: {0}", Directory.GetLastWriteTimeUtc(n))
End Sub
End Class
' Since this sample deals with dates and times, the output will vary
' depending on when you run the executable. Here is one example of the output:
' Creation Date: 1/3/2002 12:00:00 AM
' UTC creation Date: 1/3/2002 8:00:00 AM
' Last write time: 12/31/1998 4:00:00 PM
' UTC last write time: 1/1/1999 12:00:00 AM
' Last access time: 1/2/2002 4:00:00 PM
' UTC last access time: 1/3/2002 12:00:00 AM
' Changed last write time: 1/1/1999 12:00:00 AM
Comentários
Observação
Esse método pode retornar um valor impreciso, pois usa funções nativas cujos valores podem não ser atualizados continuamente pelo sistema operacional.
Se o diretório descrito no path
parâmetro não existir, esse método retornará 12:00 meia-noite, 1º de janeiro de 1601 (C.E.) UTC (Tempo Universal Coordenado).
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.