2017-07-25 139 views
0

我使用Node csv-stringify包将对象列表转换为csv。节点csv-stringify格式时间戳列

其中一列包含时间戳,并且stringify方法将其转换为纪元日期。

1471388400000 

我怎样才能保持输出的原始时间戳格式:

var stringify = require('csv-stringify'); 

... 

input = [ 
{'field1':'val1', 'timemodified':'2016-08-16T23:00:00.000Z'}, 
... 
] 

stringify(input, function(err, output){ 
console.log(output); 
}) 

在输出的timemodified被格式化?

我尝试使用格式化选项,但它没有任何效果: http://csv.adaltas.com/stringify/examples/

stringify(input, {formatters: { 
     "timemodified": function(value){ 
     return value.format("YYYY/MM/DD hh:mm:ss"); 
     } 
    }},function(err, output) { 
     fs.writeFile('userUpload.csv', output, 'utf8', function(err) { 
     if (err) { 
      console.log('Error - file either not saved or corrupted file saved.'); 
     } else { 
      console.log('userUpload.csv file saved!'); 
     } 
     }); 
    }); 

回答

0

我想你的代码,而无需自定义格式,它按预期工作。输出'val1,2016-08-16T23:00:00.000Z'。

但我得到的时间戳,如果我有个约会对象在我的输入,如:

input = [ 
{'field1':'val1', 'timemodified': new Date('2016-08-16T23:00:00.000Z')}, 
... 
] 

请检查是否有您输入的日期对象。