Directory.GetLastWriteTime(String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns the date and time the specified file or directory was last written to.
public:
static DateTime GetLastWriteTime(System::String ^ path);
public static DateTime GetLastWriteTime (string path);
static member GetLastWriteTime : string -> DateTime
Public Shared Function GetLastWriteTime (path As String) As DateTime
Parameters
- path
- String
The file or directory for which to obtain modification date and time information.
Returns
A structure that is set to the date and time the specified file or directory was last written to. This value is expressed in local time.
Exceptions
The caller does not have the required permission.
.NET Framework and .NET Core versions older than 2.1: path
is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the GetInvalidPathChars() method.
path
is null
.
The specified path, file name, or both exceed the system-defined maximum length.
Examples
The following example demonstrates how to use GetLastWriteTime
.
using namespace System;
using namespace System::IO;
int main()
{
try
{
String^ path = "c:\\MyDir";
if ( !Directory::Exists( path ) )
{
Directory::CreateDirectory( path );
}
else
{
// Take an action which will affect the write time.
Directory::SetLastWriteTime( path, DateTime(1985,4,3) );
}
// Get the creation time of a well-known directory.
DateTime dt = Directory::GetLastWriteTime( path );
Console::WriteLine( "The last write time for this directory was {0}", dt );
// Update the last write time.
Directory::SetLastWriteTime( path, DateTime::Now );
dt = Directory::GetLastWriteTime( path );
Console::WriteLine( "The last write time for this directory was {0}", dt );
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
using System;
using System.IO;
class Test
{
public static void Main()
{
try
{
string path = @"c:\MyDir";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
else
{
// Take an action which will affect the write time.
Directory.SetLastWriteTime(path, new DateTime(1985,4,3));
}
// Get the creation time of a well-known directory.
DateTime dt = Directory.GetLastWriteTime(path);
Console.WriteLine("The last write time for this directory was {0}", dt);
// Update the last write time.
Directory.SetLastWriteTime(path, DateTime.Now);
dt = Directory.GetLastWriteTime(path);
Console.WriteLine("The last write time for this directory was {0}", dt);
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
open System
open System.IO
try
let path = @"c:\MyDir"
if not (Directory.Exists path) then
Directory.CreateDirectory path |> ignore
else
// Take an action which will affect the write time.
Directory.SetLastWriteTime(path, DateTime(1985, 4, 3))
// Get the creation time of a well-known directory.
let dt = Directory.GetLastWriteTime path
printfn $"The last write time for this directory was {dt}"
// Update the last write time.
Directory.SetLastWriteTime(path, DateTime.Now)
let dt = Directory.GetLastWriteTime path
printfn $"The last write time for this directory was {dt}"
with e ->
printfn $"The process failed: {e}"
Imports System.IO
Public Class Test
Public Shared Sub Main()
Try
Dim path As String = "c:\MyDir"
If Directory.Exists(path) = False Then
Directory.CreateDirectory(path)
Else
' Take an action which will affect the write time.
Directory.SetLastWriteTime(path, New DateTime(1985, 4, 3))
End If
' Get the creation time of a well-known directory.
Dim dt As DateTime = Directory.GetLastWriteTime(path)
Console.WriteLine("The last write time for this directory was {0}", dt)
' Update the last write time.
Directory.SetLastWriteTime(path, DateTime.Now)
dt = Directory.GetLastWriteTime(path)
Console.WriteLine("The last write time for this directory was {0}", dt)
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Remarks
Note
This method may return an inaccurate value, because it uses native functions whose values may not be continuously updated by the operating system.
If the directory described in the path
parameter does not exist, this method returns 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time.
The path
parameter is permitted to specify relative or absolute path information. Relative path information is interpreted as relative to the current working directory. To obtain the current working directory, see GetCurrentDirectory.
The case-sensitivity of the path
parameter corresponds to that of the file system on which the code is running. For example, it's case-insensitive on NTFS (the default Windows file system) and case-sensitive on Linux file systems.
For a list of common I/O tasks, see Common I/O Tasks.