В Javascript, как я могу превратить объект даты в отметку времени эпохи? - PullRequest
0 голосов
/ 07 декабря 2011
Wed, 07 Dec 2011 15:31:11 GMT

Если у меня есть этот объект даты, как мне превратить его в метку времени Unix (секунды с начала эпохи)?

Ответы [ 3 ]

2 голосов
/ 07 декабря 2011
var unixTimeStamp = (new Date('Wed, 07 Dec 2011 15:31:11 GMT')).getTime() / 1000;
1 голос
/ 07 декабря 2011

Вы можете использовать

var dateString = "Wed, 07 Dec 2011 15:31:11 GMT";
var mSecondsSinceEpoch = Date(dateString).getTime(); 

, который возвращает время эпохи UNIX в миллисекундах. Вы можете оставить «dateString» пустым, чтобы взять текущее время. Однако когда объект Date приводится к числу, он также возвращает вышеприведенное. Таким образом

var mSecondsSinceEpoch = +Date(dateString) // milliseconds

или

var secondsSinceEpoch = (Date(dateString) / 1000) // seconds

тоже работает! См. https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date для получения дополнительной информации об объекте Javascript Date.

0 голосов
/ 07 декабря 2011

Вы можете преобразовать в метку времени, приведя к числу, например, +date. Однако это вернет количество миллисекунд.

Чтобы получить количество секунд с начала эпохи, вам нужно разделить на 1000. Поскольку для деления уже используются числа, вы можете исключить +:

Math.floor(date / 1000);   // 1000 ms = 1s
...