2015-01-27 2 views
1

Есть функция библиотека JavaScript, которая преобразует IS0-8601 времени в формате строки:Преобразование ISO-8601 Timestamp

2015-01-27T00:00:00.328Z

в строку в следующем формате:

'YYYY.MM.DD HH:MI:SS'?

Пример:

convert("2015-01-27T00:00:00.328Z") === "2015.01.27 00:00:00.328"

+0

Вам не нужна библиотека, хотя moment.js может это сделать. Подсказка: 'new Date ('1997-07-16T19: 20: 30 + 01: 00')' –

ответ

2

Если вы собираетесь использовать даты больше, чем просто преобразования, вы можете рассмотреть возможность использования Moment.js.

moment('2015-01-27T00:00:00.328Z').format('YYYY.MM.DD HH:mm:ss'); //Output depends on your timezone 

По умолчанию моменту используется ваше местное время для отображения. Если это не желаемое поведение, вы можете использовать вместо этого

moment.utc('2015-01-27T00:00:00.328Z').format('YYYY.MM.DD HH:mm:ss'); //"2015.01.27 00:00:00" 

Или, если вы хотите включить миллисекунды:

moment.utc('2015-01-27T00:00:00.328Z').format('YYYY.MM.DD HH:mm:ss.SSS'); //"2015.01.27 00:00:00.328" 
+0

Спасибо, Нит. Тем не менее, я также хочу захватить 3 отстающих секунды. Они урезаны из '' формата ("... HH: MM: SS") '. –

+0

Я исправил ошибку форматирования в ответе, я перепутал 'SS' и' ss', так как я написал ответ сверху. Обратите внимание, однако, что в вашем образце значение составляет не 3 секунды, это 300 миллисекунд. Вы уверены, что это то, что вы хотите? Если да, как вы хотите отформатировать вывод? – Nit

+0

Я считаю, что хочу: 'moment (INPUT) .utc(). Format ('YYYY.MM.DD HH: mm: sss.SSS')' –