Node.js fs.utimes() Method
Last Updated :
08 Oct, 2021
Improve
The fs.utimes() method is used to asynchronously change the modification and access timestamps of a file. The timestamps can be specified using a number, string, or Date object. An error would be thrown if the timestamp cannot be converted to a proper number, or is NaN, Infinity or -Infinity.
Syntax:
fs.utimes( path, atime, mtime, callback )
Parameters: This method accepts four parameters as mentioned above and described below:
- path: It is a string that denotes the path of the file whose timestamps have to be changed.
- atime: It is number, string or Date object that denotes the new access timestamp to be set.
- mtime: It is number, string or Date object that denotes the new modification timestamp to be set.
- callback: It is a function that would be called when the method is executed.
- err: It is an error that would be thrown if the method fails.
Below examples illustrate the fs.utimes() method in Node.js:
Example 1:
// Node.js program to demonstrate the // fs.utimes() method // Import the filesystem module const fs = require( 'fs' ); console.log( "Details before changing time:" ); // Get the stats object of the file prevStats = fs.statSync( "example_file.txt" ); // Access the modified and access time of the file console.log( "Modification Time:" , prevStats.mtime); console.log( "Access Time:" , prevStats.atime); // Get the current time to change the timestamps let newModifiedTime = new Date(); let newAccessTime = new Date(); // Use the utimes() function to assign // the new timestamps fs.utimes( "example_file.txt" , newAccessTime, newModifiedTime, () => { // Get the stats object of the file console.log( "\nDetails after changing time:" ); // Get the stats object of the file changedStats = fs.statSync( "example_file.txt" ); // Access the changed modified and // access time of the file console.log( "Changed Modification Time:" , changedStats.mtime); console.log( "Changed Access Time:" , changedStats.atime); } ); |
Output:
Details before changing time: Modification Time: 2017-01-24T23:41:00.000Z Access Time: 2018-02-26T00:05:00.000Z Details after changing time: Changed Modification Time: 2020-05-25T15:31:08.257Z Changed Access Time: 2020-05-25T15:31:08.257Z
Example 2:
// Node.js program to demonstrate the // fs.utimes() method // Import the filesystem module const fs = require( 'fs' ); console.log( "Details before changing time:" ); // Get the stats object of the file prevStats = fs.statSync( "example_file.txt" ); // Access the modified and access time of the file console.log( "Modification Time:" , prevStats.mtime); console.log( "Access Time:" , prevStats.atime); // Get the current time to change the timestamps let newModifiedTime = new Date( "January 25, 2017 05:11:00" ); let newAccessTime = new Date( "February 26, 2018 05:35:00" ); // Use the utimes() function to assign // the new timestamps fs.utimes( "example_file.txt" , newAccessTime, newModifiedTime, () => { // Get the stats object of the file console.log( "\nDetails after changing time:" ); // Get the stats object of the file changedStats = fs.statSync( "example_file.txt" ); // Access the changed modified and // access time of the file console.log( "Changed Modification Time:" , changedStats.mtime); console.log( "Changed Access Time:" , changedStats.atime); }); |
Output:
Details before changing time: Modification Time: 2015-12-20T19:42:00.000Z Access Time: 2020-05-25T15:19:24.250Z Details after changing time: Changed Modification Time: 2017-01-24T23:41:00.000Z Changed Access Time: 2018-02-26T00:05:00.000Z
Reference: https://nodejs.org/api/fs.html#fs_fs_utimes_path_atime_mtime_callback