什么格式用于nodejs fs.utimes

在nodejs中,fs.utimes的参数应该以什么格式写入,例如atimemtime

API: fs.utimes(path, atime, mtime, callback)

这些参数是JavaScript Date ,而不是string。

从文档:

请注意,atime,mtime和ctime是Date对象的实例,为了比较这些对象的值,应使用适当的方法。 对于大多数一般用途,getTime()将返回自1970年1月1日00:00:00 UTC以来经过的毫秒数,并且该整数应该足以用于任何比较,但是可以使用其他方法来显示模糊信息。 更多细节可以在MDN JavaScript Reference页面find。

并从源代码 :

 fs.utimes = function(path, atime, mtime, callback) { callback = makeCallback(callback); if (!nullCheck(path, callback)) return; binding.utimes(pathModule._makeLong(path), toUnixTimestamp(atime), toUnixTimestamp(mtime), callback); }; // converts Date or number to a fractional UNIX timestamp function toUnixTimestamp(time) { if (util.isNumber(time)) { return time; } if (util.isDate(time)) { // convert to 123.456 UNIX timestamp return time.getTime() / 1000; } throw new Error('Cannot parse time: ' + time); } 

其中显示它可以是Javascriptdate或Unix样式数字date。

这条线真的很重要! return time.getTime() / 1000; 这意味着如果你传入一个数字,你传递一个Unix风格的数字,其中毫秒数表示为1 / 1000s,与Date.getTime()返回的整数不同。

在Unix时间戳上看到这个链接