2016-08-30 987 views
0

我想发送到客户端文件名和文件创建日期,我试图使用fs.stat提供的出生时间,但我没有看到那里的文件名,所以我的问题,是出生时间是文件创建日期?如何在nodejs中使用文件系统获取文件创建日期?

如何发送文件名和日期创建为json?

app.js

var readDirectory = require('./readDirectory'); 
app.get('/logs',function(req,res){ 
    readDirectory.readDirectory(function(logFiles){ 
     res.json(logFiles); 
    }); 
}); 

readDirectory.js

var fs = require('fs'); 
var path = './logs/ditLogs' 
function readDirectory(callback){ 
    fs.stat(path, function (err,stats) { 
     console.log('STATS',stats); 
     callback(stats); 
    }); 

} 
exports.readDirectory = readDirectory; 

回答

3

Node v0.12.0,是birthtime是文件创建时间

检查Node.js API细节here

+0

感谢您的信息! – hussain

+0

很高兴帮助你:) – abdulbarik

0

与否你可以得到f创建时间取决于操作系统和文件系统。正如其他人所提到的,传统的POSIX仅定义了ctime,这是(相当困惑地)inode修改日期,而不是创建日期。但是,在某些操作系统上,可以获得st_birthtimespec或st_birthtime,这是一个真正的“创建”时间。您需要检查主机操作系统上的sys/stat.h,以查看是否有可用的东西。

不幸的是,您是否可以从node.js访问整个stat结构是一种不同的鱼类。但至少你可以弄清楚你的操作系统是否支持它并从那里开始。

0

如果有人毕竟这个时候绊倒这一点,因为节点v0.12.0使用这个的:

fs.stat(path, callback) 

如果回调有两个ARGS犯错&统计。统计对象有属性

birthtime 

这是创建日期。

链接到节点API文档https://nodejs.org/api/fs.html#fs_class_fs_stats