2017-10-18 69 views
0

我用节点XLSX的Node.js但日期细胞分析的Excel文件有奇怪的说法解析之前:转换Excel日期字符串Unix时间在Node.js的

in Excel: 01.03.2016 07:44:04 
in Node.js before parsing: 42430.32226851852 

如何将此字符串转换为Unix时间格式?42430.32226851852

更新: 写我自己,为我工作的解决方案:

var xlsxDate = '42430.32226851852' 
var splitDate=xlsxDate.split('.'); 
var unixTime=new Date(1900, 0, splitDate[0]-1, 0, 0, Math.round(splitDate[1]/1157410)).getTime()/1000 
console.log(unixTime) 

凡是〜1秒

+0

您好Dan。我认为这个链接可以帮助你 https://stackoverflow.com/questions/42183859/convert-integer-to-date-in-node-js – Ediruth

+0

谢谢,但不舒服。我发现信息点分裂42430.32226851852日期和时间:42430 - 日期(从01.01.1900),32226851852 - 时间。而现在我不会无视我如何将32226851852转换为正常的时间格式。当我更改单元格格式从日期到字符串时Excel将四舍五入32226851852到32227 –

回答

0

另一个解决办法是,当你将它保存到您的Excel文档时将其另存为字符串而不是Date对象。

然后,您可以将它作为字符串读取,并将其包装在新日期中()