首页 > 解决方案 > Javascript - 以与 SQL 服务器相同的方式将日期转换为浮动的简单方法

问题描述

SQL Server 可以将日期转换为浮点数。例如 '2019-05-23 17:33:16.780' 将是 43606.731444213

如果我没有记错的话:

有没有一种简单的方法可以在 javascript 中进行相同的转换?我不希望浮点数从 JS 纪元开始。

标签: javascriptdatetype-conversion

解决方案


您可以使用 JavaScriptDate原型并定义自己的初始日期:

var date = new Date('2019-05-23 17:33:16.780');
var init = new Date('1900-01-01');

console.log((date - init) / (1000 * 60 * 60 * 24));
// 43606.68977754629

除以1000 * 60 * 60 * 24是从毫秒转换为天。

或者,您可以使用该moment.js库:

var date = moment('2019-05-23 17:33:16.780');
var init = moment('1900-01-01');

console.log(date.diff(init) / (1000 * 60 * 60 * 24));
// 43606.69922199074
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>


推荐阅读