nodejs - how to change creation time of file
It's not possible at present with Node itself, but you can use https://github.com/baileyherbert/utimes (a native add-on for Node) to change the creation time (aka btime
) of a file on Windows and Mac.
tl;tr: That's not possible atm (Node.js <= v6).
Even though, fs.stat() returns the birthtime of files:
birthtime
"Birth Time" - Time of file creation. Set once when the file is created. On filesystems where birthtime is not available, this field may instead hold either thectime
or1970-01-01T00:00Z
(ie, unix epoch timestamp0
)…Prior to Node v0.12, the
ctime
held thebirthtime
on Windows systems. Note that as of v0.12,ctime
is not "creation time", and on Unix systems, it never was.
Updating is not possible. From https://github.com/joyent/node/issues/8252:
fs.utimes uses utime(2) (http://linux.die.net/man/2/utime), which doesn't allow you to change the ctime.
(Same holds for birthtime
)