Как преобразовать дату в целое число?
У меня есть массив дат и я использую функцию 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.
Использование номера()