Как преобразовать дату в Epoch в Y-m-d H:i:s в Javascript?

Как преобразовать следующую дату в эпоху:

1293683278

до следующей читаемой даты:

2010-06-23 09:57:58

используя Javascript?

Спасибо!


person James Cazzetta    schedule 10.05.2012    source источник


Ответы (3)


var timestamp = 1293683278;
var date = new Date(timestamp * 1000);

var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();

console.log(year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds);

Дополнительные сведения см. в документации по js Date.

Другой путь:

var timestamp = 1293683278;
var date = new Date(timestamp * 1000);
var iso = date.toISOString().match(/(\d{4}\-\d{2}\-\d{2})T(\d{2}:\d{2}:\d{2})/)

console.log(iso[1] + ' ' + iso[2]);

person deadrunk    schedule 10.05.2012
comment
Спасибо! странно, когда я удаляю * 1000, он работает, но в остальном он дает мне какие-то случайные числа..? - person James Cazzetta; 10.05.2012
comment
Дата в javascript работает с микросекундами. Вы уверены, что ваши метки времени имеют ровно 10 цифр? - person deadrunk; 10.05.2012
comment
Как мне получить формат, например 20130327, используя соответствие ISOstring для даты 2013-03-27? - person peter; 27.03.2013
comment
попробуй iso[1].replace(/-/g, '') + ' ' + iso[2] - person deadrunk; 27.03.2013
comment
только что просмотрел после некоторого поиска в Google, javascript работает с миллисекундами, то есть :) - person K. Kilian Lindberg; 23.01.2014
comment
В вашем первом образце нет лишних нулей (7 вместо 07, как искомый формат). и второй образец преобразован в формат ISO, хотя в вопросе не упоминается. Лучший ответ: stackoverflow.com/a/50768368/1407491 - person Nabi K.A.Z.; 09.06.2018

Для этого вы можете использовать moment.js.

moment.unix(1293683278).format('YYYY-MM-DD HH:mm:ss');
person timrwood    schedule 11.05.2012

Код:

var timestamp = 1293683278;
var d = new Date(timestamp * 1000);

console.log(
  d.getFullYear() + "-" +
  ("00" + (d.getMonth() + 1)).slice(-2) + "-" +
  ("00" + d.getDate()).slice(-2) + " " +
  ("00" + d.getHours()).slice(-2) + ":" +
  ("00" + d.getMinutes()).slice(-2) + ":" +
  ("00" + d.getSeconds()).slice(-2)
);

Формат: YYYY-MM-DD HH:II:SS

Результат: 2010-12-30 07:57:58

Демонстрация: https://jsfiddle.net/NabiKAZ/9ycovfxt/

Примечание: вместо текущего времени используйте: var d = new Date();.

person Nabi K.A.Z.    schedule 08.06.2018