服务端是否没有toLocaleFormat()这个方法?
代码是这样的,获取某一个文件目录:
getToc: function(dir, callback){
//console.log(dir)
var resJSON = {
queryDir: dir,
folder: [],
document: []
};
fs.readdir(dir, function(err, files){
if(err){
resJSON.err = err;
callback(resJSON);
return;
}
for(var i = 0, len = files.length; i < len; i++){
var pathname = dir + "\/" + files[i];
var stat = fs.lstatSync(pathname);
if (!stat.isDirectory()){
var a = files[i].split('.');
var date = new Date(stat.atime).toLocaleFormat(); //这行报错
resJSON.document.push({type:a[a.length-1],name:files[i],size:stat.size,lastModfied:date});
} else {
resJSON.folder.push(files[i]);
}
}
callback(resJSON);
});
}
错误提示是没有toLocaleFormat方法:TypeError: Object Mon Jan 28 2013 20:20:33 GMT+0800 (CST) has no method 'toLocaleFormat’ 在客户端下面代码能正确输出时间格式的: 为什么服务端这个方法不存在呢?
6 回复
我用 moment module处理日期/时间,推荐试一试。
$ node
> var moment = require('moment')
> moment().local().toString()
'Mon Jan 28 2013 15:01:30 GMT-0500 (EST)'
>
我记得没这个方法吧,你要用的是toLocaleString
吗?
多谢,可以试试
不是 ,就是toLocaleFormat() , 能像浏览器端那样将一个日期对象Mon Jan 28 2013 20:20:33 GMT+0800 (CST) 转化成一般的时间格式就可以
没有这个方法的,我在控制台输出了一下,发现只有以下三种方法:
toLocaleDateString
toLocaleString
toLocaleTimeString
另外像leapon所说,用moment也可以解决,但是像这种简单的能不用别人的module还是尽量不用的好
@shaman 这货只有FireFox才有的吧?人家Chrome和IE都木有。。。。 Node.js和Chrome用的都是V8引擎