node.js中上次修改的文件日期
我正在尝试使用node.js检索服务器上文件的上次修改日期 我试过了node.js中上次修改的文件日期,node.js,Node.js,我正在尝试使用node.js检索服务器上文件的上次修改日期 我试过了 file.lastModified; 及 两者都返回为未定义。您应该使用stat函数: 根据报告: 异步状态(2)。回调获取两个参数(err,stats),其中stats是fs.stats对象。看起来是这样的: 如您所见,mtime是最后修改的时间。对于节点V4.0.0及更高版本: fs.stat("/dir/file.txt", function(err, stats){ var mtime = stats.mti
file.lastModified;
及
两者都返回为未定义。您应该使用stat函数: 根据报告: 异步状态(2)。回调获取两个参数(err,stats),其中stats是fs.stats对象。看起来是这样的:
如您所见,
mtime
是最后修改的时间。对于节点V4.0.0及更高版本:
fs.stat("/dir/file.txt", function(err, stats){
var mtime = stats.mtime;
console.log(mtime);
});
或者同步地:
var stats = fs.statSync("/dir/file.txt");
var mtime = stats.mtime;
console.log(mtime);
在这里,您可以以秒为单位获取文件的上次修改时间
fs.stat("filename.json", function(err, stats){
let seconds = (new Date().getTime() - stats.mtime) / 1000;
console.log(`File modified ${seconds} ago`);
});
输出类似于“300.9秒前修改的文件”只需添加Sandro所说的内容,如果您希望尽快执行检查,而无需解析日期或任何内容,只需获取以毫秒为单位的时间戳(数字),使用
mtimeMs
异步示例:
require('fs').stat('package.json', (err, stat) => console.log(stat.mtimeMs));
同步:
console.log(require('fs').statSync('package.json').mtimeMs);
您也可以使用同步版本:fs.statSync(path)返回相同的对象。@Sandro Munda您好,我正在使用multer上载图像,我必须保存每个图像修改日期。如何获取它?为什么使用
util.inspect()
?它不是语言函数,它必须是他创建的一个函数,用于在创建之前验证日期。@CarlosABS检查文档,它是一个Node.js函数,返回调试字符串…”“util.inspect的输出可能随时更改,不应以编程方式依赖。”与使用显式日期解析函数相比,此方法具有相当高的破坏风险。在较新版本的节点中,stats.mtime
似乎已经是一个日期对象。seconds=(new date().getTime()-new date(stats.mtime).getTime())/1000代码>
fs.stat("filename.json", function(err, stats){
let seconds = (new Date().getTime() - stats.mtime) / 1000;
console.log(`File modified ${seconds} ago`);
});
require('fs').stat('package.json', (err, stat) => console.log(stat.mtimeMs));
console.log(require('fs').statSync('package.json').mtimeMs);