Sdílet prostřednictvím


Directory.SetCreationTime(String, DateTime) Metoda

Definice

Nastaví datum a čas vytvoření zadaného souboru nebo adresáře.

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

Parametry

path
String

Soubor nebo adresář, pro který chcete nastavit datum a čas vytvoření.

creationTime
DateTime

Datum a čas posledního zápisu souboru nebo adresáře. Tato hodnota je vyjádřena v místním čase.

Výjimky

Zadaná cesta nebyla nalezena.

.NET Framework a .NET Core verze starší než 2.1: path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků. Pomocí metody můžete zadat dotaz na neplatné znaky GetInvalidPathChars() .

path je null.

Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.

Volající nemá požadované oprávnění.

creationTime určuje hodnotu mimo rozsah kalendářních dat nebo časů povolených pro tuto operaci.

Aktuální operační systém není systém Windows NT nebo novější.

Příklady

Následující příklad ukazuje rozdíly ve výstupu při použití výstupu koordinovaného univerzálního času (UTC).

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

Poznámky

Parametr path může zadat relativní nebo absolutní informace o cestě. Informace o relativní cestě jsou vykládány jako relativní k aktuálnímu pracovnímu adresáři. Pokud chcete získat aktuální pracovní adresář, přečtěte si téma GetCurrentDirectory.

Rozlišování velkých a malých písmen parametru path odpovídá systému souborů, na kterém je kód spuštěn. Například v systému souborů NTFS (výchozí systém souborů Windows) se nerozlišují malá a velká písmena a v systémech souborů Linux.

Platí pro

Viz také