如何将日期转换为整数?

我有一个日期数组,并且一直在使用 map 函数迭代它,但是我找不到将它们转换为整数的 JavaScript 代码。

这是日期数组:

var dates_as_int = [
"2016-07-19T20:23:01.804Z",
"2016-07-20T15:43:54.776Z",
"2016-07-22T14:53:38.634Z",
"2016-07-25T14:39:34.527Z"
];
225627 次浏览

你可以通过 Number()运行它

var myInt = Number(new Date(dates_as_int[0]));

如果参数是 Date 对象,Number ()函数返回自1970年1月1日午夜以来的毫秒数。

数字()的使用

以下是你可以尝试的方法:

var d = Date.parse("2016-07-19T20:23:01.804Z");
alert(d); //this is in milliseconds
var dates = dates_as_int.map(function(dateStr) {
return new Date(dateStr).getTime();
});

= >

[1468959781804, 1469029434776, 1469199218634, 1469457574527]

更新: ES6版本:

const dates = dates_as_int.map(date => new Date(date).getTime())

日期上的 GetTime ()方法返回一个“ ECMAScript 时代”,这与 UNIX 时代相同,但是在 毫秒中。这一点很重要,因为其他一些语言使用的 UNIX 时间戳以秒为单位。

UNIX 时间戳,相当于自1970年1月1日以来的毫秒数。这是一个你可能在数据库或一些应用程序中看到过的日期,它通常是一个错误的信号。

使用内置的 Date.parse函数,该函数接受 ISO8601格式的输入,并直接返回所需的整数返回值:

var dates_as_int = dates.map(Date.parse);

如果你的格式日期是 YYYY/M/D,你可以使用以下代码:

let yourDate = momentjs(new Date().toLocaleDateString(), 'M/D/YYYY').format('YYYY-MM-DD');
let newDate = Number(yourDate.slice(0, 10).split('-').join(''));