Как преобразовать дату в целое число?

У меня есть массив дат и я использую функцию 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"
];

Ответ 1

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())

Ответ 2

Здесь вы можете попробовать:

var d = Date.parse("2016-07-19T20:23:01.804Z");
alert(d); //this is in milliseconds

Ответ 3

С помощью встроенной функции Date.parse, которая принимает входной сигнал в формате ISO8601 и сразу возвращает желаемое целочисленное возвращаемое значение:

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

Ответ 4

Под int, вы имеете в виду эпоху?

new Date(2016, 8, 1).getTime() / 1000

как функция:

function dateToEpoch(date) {
    return date.getTime() / 1000
}

и вызывается как:

dateToEpoch(new Date(2016, 8, 1);

Ответ 5

Вы можете запустить его через Number()

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

Если параметр является объектом Date, функция Number() возвращает число миллисекунд с полуночи 1 января 1970 UTC.

Использование номера()