SQL Server 可以将日期转换为 float 。 例如“2019-05-23 17:33:16.780”将为 43606.731444213
如果我没记错的话:
- 整数是自纪元(1900/01/01 开始)以来过去的天数
- 小数部分是自午夜以来过去一天的百分比。
有没有一种简单的方法可以在 JavaScript 中进行相同的转换? 我不希望 float 从 JS 纪元开始。
最佳答案
您可以使用 JavaScript Date
原型(prototype)并定义您自己的初始日期:
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>
关于Javascript - 将日期转换为 float 的简单方法,与 SQL Server 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56268683/