这是什么类型的时间戳,以及如何使用JavaScript将其转换为人类可读的

What type of timestamp is this and how do I convert it to human-readable using JavaScript

本文关键字:转换 人类 JavaScript 时间戳 类型 是什么 何使用      更新时间:2023-09-26

我收到了数百个CSV文件,所有文件都带有我不认识的时间戳。我一直在尽我最大的努力找到它是什么,并尝试使用JavaScript转换它们,但到目前为止我还没有运气。我得到的所有指示都是这样的:"时间戳39845.03表示日期01/02/2009和时间00:45."我被告知这是一个微软时间戳。

这是Microsoft Excel的时间戳格式。这是一种特别的感觉。1.1.1900 0:0是1.0。2.1.1900 0:0为2.0。

逗号后面的部分表示时间。

在ExcelTips: Unix时间戳到Excel上,他们给出了一个公式,只需要反向来完成转换。

function convertExcelTimeToUnix(excelTime) {
    return (excelTime - 25569) * 86400;
}

结果是一个UNIX时间戳,例如可以传递给Date的构造函数。

var realDate = new Date(convertExcelTimeToUnix(excelTime))

看起来像是自1900年1月1日起经过的天数。

 var date = new Date('01 jan 1900');
 date.setTime(date.getTime() + 39845.03 * 24 * 60 * 60 *1000);

将在javascript中执行。

额外的乘数很明显是将其转换为毫秒。