Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
node.js中上次修改的文件日期_Node.js - Fatal编程技术网

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

我正在尝试使用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.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);