我已经获得了数百个CSV文件,所有这些文件都带有我无法识别的时间戳。我一直在努力找到它是什么,并尝试使用JavaScript转换它们,但到目前为止,我没有运气。 我给出的所有说明都是:“时间戳39845.03代表日期01/02/2009和时间00:45。”我被告知这是微软的时间戳。
答案 0 :(得分:2)
这是Microsoft Excel
的时间戳格式。这是一种特殊的。
1.1.1900 0:0是1.0。
2.1.1900 0:0是2.0。
逗号背后的部分表达了时间。
在ExcelTips: Unix timestamps to Excel上,他们会给出一个只需要反转的公式来实现转换。
function convertExcelTimeToUnix(excelTime) {
return (excelTime - 25569) * 86400;
}
结果是UNIX时间戳,例如可以传递给Date
的constzructor。
var realDate = new Date(convertExcelTimeToUnix(excelTime))
答案 1 :(得分:1)
看起来是自19/01/1900以来经过的天数。
var date = new Date('01 jan 1900');
date.setTime(date.getTime() + 39845.03 * 24 * 60 * 60 *1000);
将在javascript中完成。
额外的乘数非常明显地将它转换为毫秒。