Javascript формат даты / Дата (-62135571600000)/

Как мне отформатировать следующую дату в формате "мм / дд / гггг ч: мм: сс" в javascript?

/Date(-62135571600000)/

2 ответа

Решение

В моем текущем часовом поясе:

new Date(-62135571600000); //=> Mon Jan 01 1 02:00:00 GMT-0500 (Eastern Standard Time)

Это то, что вы ищете? Таким образом, вы можете легко извлечь нужные вам свойства даты из этого объекта и отформатировать их так, как вам нравится...

// create a new date object from the timestamp...
var p = (new Date(-62135571600000)).toISOString().split(/\D+/)
// format the date
var formatted = [p[1],p[2],p[0]].join("/")+" "+[p[3],p[4],p[5]].join(":")
// check it...
alert(formatted)

(new Date(-62135571600000)) возвращает объект даты, который при выводе в виде строки выглядит как... Mon Jan 01 1 07:00:00 GMT+0000 (GMT), Внутренне javascript понимает это как дату. Далее мы конвертируем это .toISOString()так что формат больше похож на... 0001-01-01T07:00:00.000Z - который является стандартным форматом даты ISO. Далее мы разбиваем его на массив любыми нецифровыми символами, используя регулярное выражение (.split(/\D+/)), что дает нам что-то вроде... ["0001", "01", "01", "07", "00", "00", "000", ""], Наконец, мы назначаем это переменной... var p = ...,

Теперь у нас есть части даты в p массив, мы можем собрать их, как мы хотим. Во-первых, соединение частей 1, 2 и 0 (0 - год, 1 - месяц, 2 - день) косыми чертами ([p[1],p[2],p[0]].join("/")) давать 0001-01-01, Далее мы добавим пробел ...+" "+... и объединить время вместе... [p[3],p[4],p[5]].join(":"), Присвойте результат переменной... var formatted = ... и нам пора!

Другие вопросы по тегам