nodejs获取文件修改时间

var stat = fs.statSync(filename);
console.log(stat)

会返回:

Stats {
  dev: 2291044,
  mode: 33206,
  nlink: 1,
  uid: 0,
  gid: 0,
  rdev: 0,
  blksize: 4096,
  ino: 562949954166665,
  size: 847,
  blocks: 8,
  atimeMs: 1634108960517.8748,
  mtimeMs: 1625120583968.2937,
  ctimeMs: 1625120583968.2937,
  birthtimeMs: 1624868662495.4585,
  atime: 2021-10-13T07:09:20.518Z,
  mtime: 2021-07-01T06:23:03.968Z,
  ctime: 2021-07-01T06:23:03.968Z,
  birthtime: 2021-06-28T08:24:22.495Z
}

具体详解统计的时间值:

atime "访问时间": 上次访问文件数据的时间。 由 mknod(2)、 utimes(2) 和 read(2) 系统调用更改。
mtime "修改时间": 上次修改文件数据的时间。 由 mknod(2)、 utimes(2) 和 write(2) 系统调用更改。
ctime "更改时间": 上次更改文件状态(修改索引节点数据)的时间。 由 chmod(2)、 chown(2)、 link(2)、 mknod(2)、 rename(2)、 unlink(2)、 utimes(2)、 read(2) 和 write(2) 系统调用更改。
birthtime "创建时间": 文件创建时间。 创建文件时设置一次。 在创建时间不可用的文件系统上,该字段可能改为保存 ctime 或 1970-01-01T00:00Z(即 Unix 纪元时间戳 0)。 在这种情况下,该值可能大于 atime 或 mtime。 在 Darwin 和其他 FreeBSD 变体上,如果使用 utimes(2) 系统调用将 atime 显式设置为比当前 birthtime 更早的值,也会被设置。