Directory.SetLastWriteTimeUtc(String, DateTime) Método

Definição

Define a data e hora, em formato de Tempo Universal Coordenado (UTC), onde um diretório foi escrito pela última vez.

public:
 static void SetLastWriteTimeUtc(System::String ^ path, DateTime lastWriteTimeUtc);
public static void SetLastWriteTimeUtc(string path, DateTime lastWriteTimeUtc);
static member SetLastWriteTimeUtc : string * DateTime -> unit
Public Shared Sub SetLastWriteTimeUtc (path As String, lastWriteTimeUtc As DateTime)

Parâmetros

path
String

O caminho do diretório.

lastWriteTimeUtc
DateTime

A data e hora em que o diretório foi escrito pela última vez. Este valor é expresso em tempo UTC.

Exceções

path não foi encontrado (por exemplo, o diretório não existe ou está num disco não mapeado).

path não foi encontrado (por exemplo, o diretório não existe ou está num disco não mapeado).

.NET Framework e .NET Core versões anteriores à 2.1: path é uma cadeia de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Podes consultar caracteres inválidos com o GetInvalidPathChars() método.

path é null.

O caminho especificado, nome do ficheiro ou ambos excedem o comprimento máximo definido pelo sistema.

O interlocutor não tem a permissão necessária.

O sistema operativo atual não é Windows NT nem versões posteriores.

lastWriteTimeUtc especifica um valor fora do intervalo de datas ou horas permitidas para esta operação.

Exemplos

O exemplo seguinte ilustra as diferenças na saída ao utilizar a saída em Tempo Universal Coordenado (UTC).

// 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

Observações

O path parâmetro pode especificar informação relativa ou absoluta do caminho. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual. Para obter o diretório de trabalho atual, veja GetCurrentDirectory.

A sensibilidade a maiúsculas e minúsculas do path parâmetro corresponde à do sistema de ficheiros onde o código está a correr. Por exemplo, é insensível a maiúsculas minúsculas no NTFS (o sistema de ficheiros padrão do Windows) e sensível a maiúsculas minúsculas em sistemas de ficheiros Linux.

Para uma lista de tarefas comuns de E/S, consulte Tarefas Comuns de E/S.

Aplica-se a

Ver também