统计时间值
🌐 Stat time values
atimeMs、mtimeMs、ctimeMs、birthtimeMs 属性是数值类型,用于保存对应时间的毫秒值。它们的精度取决于平台。当在生成该对象的方法中传入 bigint: true 时,这些属性将为 大整数,否则为 数字。
🌐 The atimeMs, mtimeMs, ctimeMs, birthtimeMs properties are
numeric values that hold the corresponding times in milliseconds. Their
precision is platform specific. When bigint: true is passed into the
method that generates the object, the properties will be bigints,
otherwise they will be numbers.
atimeNs、mtimeNs、ctimeNs、birthtimeNs 属性是 大整数,用于以纳秒为单位保存对应的时间。它们仅在向生成对象的方法传入 bigint: true 时才会出现。它们的精度取决于平台。
🌐 The atimeNs, mtimeNs, ctimeNs, birthtimeNs properties are
bigints that hold the corresponding times in nanoseconds. They are
only present when bigint: true is passed into the method that generates
the object. Their precision is platform specific.
atime、mtime、ctime 和 birthtime 是 Date 对象的各种时间的备用表示。Date 和数字值之间没有关联。分配一个新的数字值或更改 Date 值,不会反映在对应的备用表示中。
统计对象中的时间具有以下语义:
🌐 The times in the stat object have the following semantics:
atime“访问时间”:文件数据最后一次被访问的时间。可被mknod(2)、utimes(2) 和read(2)系统调用修改。mtime“修改时间”:文件数据最后被修改的时间。由mknod(2)、utimes(2) 和write(2)系统调用更改。ctime“更改时间”:文件状态最后一次更改的时间(inode 数据修改)。可由chmod(2)、chown(2)、link(2)、mknod(2)、rename(2)、unlink(2)、utimes(2)、read(2) 和write(2)系统调用修改。birthtime“创建时间”:文件创建的时间。文件创建时设置一次。在不支持 birthtime 的文件系统上,该字段可能会存储ctime或1970-01-01T00:00Z(即 Unix 纪元时间戳0)。在这种情况下,该值可能大于atime或mtime。在 Darwin 和其他 FreeBSD 变体上,如果使用utimes(2)系统调用显式将atime设置为早于当前birthtime的值,也会进行设置。
在 Node.js 0.12 之前,Windows 系统上的 ctime 保存了 birthtime。从 0.12 版本开始,ctime 并不是“创建时间”,在 Unix 系统上,它也从来不是。
🌐 Prior to Node.js 0.12, the ctime held the birthtime on Windows systems. As
of 0.12, ctime is not "creation time", and on Unix systems, it never was.