File.SetLastWriteTime Method

Definition

Overloads

SetLastWriteTime(SafeFileHandle, DateTime)

Sets the date and time that the specified file or directory was last written to.

SetLastWriteTime(String, DateTime)

Sets the date and time that the specified file was last written to.

SetLastWriteTime(SafeFileHandle, DateTime)

Source:
File.cs
Source:
File.cs
Source:
File.cs

Sets the date and time that the specified file or directory was last written to.

C#
public static void SetLastWriteTime(Microsoft.Win32.SafeHandles.SafeFileHandle fileHandle, DateTime lastWriteTime);

Parameters

fileHandle
SafeFileHandle

A SafeFileHandle to the file or directory for which to set the last write date and time information.

lastWriteTime
DateTime

A DateTime containing the value to set for the last write date and time of fileHandle. This value is expressed in local time.

Exceptions

fileHandle is null.

lastWriteTime specifies a value outside the range of dates, times, or both permitted for this operation.

The caller does not have the required permission.

An I/O error occurred while performing the operation.

Applies to

.NET 10 and other versions
Product Versions
.NET 7, 8, 9, 10

SetLastWriteTime(String, DateTime)

Source:
File.cs
Source:
File.cs
Source:
File.cs

Sets the date and time that the specified file was last written to.

C#
public static void SetLastWriteTime(string path, DateTime lastWriteTime);

Parameters

path
String

The file for which to set the date and time information.

lastWriteTime
DateTime

A DateTime containing the value to set for the last write date and time of path. This value is expressed in local time.

Exceptions

.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 by using the GetInvalidPathChars() method.

path is null.

The specified path, file name, or both exceed the system-defined maximum length.

The specified path was not found.

The caller does not have the required permission.

path is in an invalid format.

lastWriteTime specifies a value outside the range of dates or times permitted for this operation.

Examples

The following example checks the file system for the specified file, creating the file if necessary, and then sets and gets the last write time of the file.

C#
using System;
using System.IO;

class Test
{
    public static void Main()
    {
        try
        {
            string path = @"c:\Temp\MyTest.txt";
            if (!File.Exists(path))
            {
                File.Create(path);
            }
            else
            {
                // Take an action that will affect the write time.
                File.SetLastWriteTime(path, new DateTime(1985,4,3));
            }

            // Get the creation time of a well-known directory.
            DateTime dt = File.GetLastWriteTime(path);
            Console.WriteLine("The last write time for this file was {0}.", dt);
            
            // Update the last write time.
            File.SetLastWriteTime(path, DateTime.Now);
            dt = File.GetLastWriteTime(path);
            Console.WriteLine("The last write time for this file was {0}.", dt);
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

Remarks

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.

For a list of common I/O tasks, see Common I/O Tasks.

See also

Applies to

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0