Учитывая, что у меня есть: mm, dd, yy, hh: mm, am / pm, какой рекомендуемый / самый простой способ преобразовать эти данные в миллисекунды с эпохи?
Каждый раз, когда я получаю ответ на этот ответ, мне напоминают, что мой ответ не на самом деле отвечает на вопрос.
OP: Если вы можете разобрать вашу строку в следующем формате, вы можете использовать один из других ответов. MM/DD/YYYY HH:MM:SS AM EDT (важно указать часовой пояс; эпоха основана на меридиане)
MM/DD/YYYY HH:MM:SS AM EDT
let milliseconds = new Date("1/20/1982 5:00 PM EST").getTime() console.log(milliseconds);
Оригинальный ответ, который некоторые люди сочли полезным: Другой метод (который поддерживается большинством браузеров, а также NodeJS), который не требует создания экземпляра Date объекта
Date
var nowEpoch = Date.now();
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
new Date("some string").getTime()
Вы можете получить миллисекунды с эпохи с +new Date('date string').
+new Date('date string')
jsFiddle .
+ оператор неявно вызывает valueOf(), который возвращает то же самое, что и getTime().
+
valueOf()
getTime()
var myDate = new Date (Timestamp);// Ваш часовой пояс!либо отметка времени от даты var myEpoch = myDate.getTime () / 1000.0;
var date; if(pm) date = new Date(yy, mm, dd, hh+12, mm, 0, 0); else date = new Date(yy, mm, dd, hh, mm, 0, 0); var millis = date.getTime(); var seconds = millis/1000;