我有 linux 服务器,其中有使用 winston rotation 创建的日志文件,所以 filename
有文件名和创建日期,所以你可以在 data
中看到第一个文件server20170414181405.log
创建于 2017-04-14
但使用 fs.stats.birthtime
它给出的文件日期 Apr-19-2017
。如何在 Linux 上获得准确的文件创建日期?
定时任务
fs.stat(filePath, function (err, stats) {
if (err) return cb2(err);
var fileInfo = { fileDate: stats.birthtime, filename: file };
console.log(fileInfo);
});
数据
{ fileDate: Wed Apr 19 2017 00:51:56 GMT-0400 (EDT),
filename: 'server20170414181405.log' },
{ fileDate: Wed Apr 19 2017 00:52:04 GMT-0400 (EDT),
filename: 'server20170414212655.log' },
{ fileDate: Wed Apr 19 2017 00:52:07 GMT-0400 (EDT),
filename: 'server20170415023845.log' },
最佳答案
stat.birthtime 是服务器时区中文件创建的真实日期。可能会出现差异,因为 Winston 和您的服务器在不同的时区工作。
如果不是对齐两个时区的情况,并且您需要某个特定时区的 stat.birthtime,则可以使用 moment-timezone日期构造函数。
关于node.js - 如何使用 fs 模块获取文件创建日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43592299/