Node.js fs.utimesSync() 方法
fs.utimesSync() 方法用于同步更改文件的修改和访问时间戳。可以使用数字、字符串或 Date 对象指定时间戳。如果时间戳无法转换为正确的数字,或者是 NaN、Infinity 或 -Infinity,则会引发错误。
句法:
fs.utimesSync( path, atime, mtime )
参数:此方法接受三个参数,如上所述,如下所述:
- path:它是一个字符串,表示必须更改其时间戳的文件的路径。
- atime:数字、字符串或日期对象,表示要设置的新访问时间戳。
- mtime:数字、字符串或日期对象,表示要设置的新修改时间戳。
下面的示例说明了 Node.js 中的fs.utimesSync() 方法:
示例 1:
// Node.js program to demonstrate the
// fs.utimesSync() 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 changedModifiedTime = new Date();
let changedAccessTime = new Date();
// Use the utimesSync() function to assign
// the new timestamps
fs.utimesSync("example_file.txt",
changedAccessTime, changedModifiedTime);
// 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);
输出:
Details before changing time:
Modification Time: 2015-12-20T19:42:00.000Z
Access Time: 2020-05-25T15:02:04.809Z
Details after changing time:
Changed Modification Time: 2020-05-25T15:09:37.412Z
Changed Access Time: 2020-05-25T15:09:37.412Z
示例 2:
// Node.js program to demonstrates the
// fs.utimesSync() 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 changedModifiedTime = new Date("December 21, 2015 01:12:00");
let changedAccessTime = new Date("December 23, 2015 01:15:00");
// Use the utimesSync() function to assign
// the new timestamps
fs.utimesSync("example_file.txt",
changedAccessTime, changedModifiedTime);
// 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);
输出:
Details before changing time:
Modification Time: 2020-05-25T15:09:37.412Z
Access Time: 2020-05-25T15:09:37.412Z
Details after changing time:
Changed Modification Time: 2015-12-20T19:42:00.000Z
Changed Access Time: 2015-12-22T19:45:00.000Z
参考: https://nodejs.org/api/fs.html#fs_fs_utimessync_path_atime_mtime