📜  Node.js fsPromises.utimes() 方法

📅  最后修改于: 2022-05-13 01:56:29.291000             🧑  作者: Mango

Node.js fsPromises.utimes() 方法

fsPromises.utimes()方法用于异步更改文件的修改和访问时间戳。可以使用数字、字符串或 Date 对象指定时间戳。如果时间戳无法转换为正确的数字,或者是 NaN、Infinity 或 -Infinity,则会引发错误。

它更改 path 引用的对象的文件系统时间戳,然后在成功时不带任何参数地解析 Promise。

句法:

fsPromises.utimes( path, atime, mtime )

参数:此方法接受三个参数,如上所述,如下所述:

  • path:它是一个字符串,表示必须更改其时间戳的文件的路径。
  • atime:数字、字符串或日期对象,表示要设置的新访问时间戳。
  • mtime:数字、字符串或日期对象,表示要设置的新修改时间戳。

atimemtime参数遵循以下规则:

  1. 值可以是表示 Unix 纪元时间的数字、日期或数字字符串,如“123456789.0”。
  2. 如果该值不能转换为数字,或者是 NaN、Infinity 或 -Infinity,则会抛出错误。

示例:此示例用于说明 Node.js 中的fsPromises.utimes()方法。为输入创建一个example_gfg.txt文件。

文件名:index.js

// Node.js program to demonstrate the 
// fsPromises.utimes() method 
  
// Import the filesystem module 
const fs = require('fs');
const fsPromises = require('fs').promises;
  
console.log("Details before changing time:");
  
// Get the stats object of the file 
prevStats = fs.statSync("example_gfg.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 
fsPromises.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_gfg.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);

运行此程序的步骤:使用以下命令运行index.js文件:

node index.js

输出:

Details before changing time:
Modification Time: 2020-06-11T17:25:51.136Z
Access Time: 2020-06-11T16:50:51.223Z

Details after changing time:
Changed Modification Time: 2020-06-11T17:25:51.136Z
Changed Access Time: 2020-06-11T16:50:51.223Z

参考: https://nodejs.org/api/fs.html#fs_fspromises_utimes_path_atime_mtime