2016-10-08 6 views
1

Как мне отформатировать дату как iso 8601 с помощью moment.js, но без дефиса и двоеточия и установить время на 0, например. если у меня есть дата, как это:date.js формат date iso 8601 без тире?

2016-10-08T09:00:00Z 

Как форматировать как:

20161008T000000Z 

Ведение moment(date).toISOString() дает 2016-10-08T09:00:00.000Z, который не то, что я хочу.

+0

момент(). Формат ('ГГГГММДД') даст '20161008', например. подробнее см. на http://momentjs.com/docs/#/displaying/format/ – smcd

ответ

1

Вы можете просто проанализировать свой ввод в момент объекта и использовать startOf, чтобы установить время до 00:00:00. Затем вы можете использовать метод format, чтобы получить строку в вашем пользовательском формате.

Здесь приведен рабочий пример с использованием строкового ввода, вы можете использовать тот же код, если ваш вход - объект Date javascript.

// Input date as string 
 
var s = '2016-10-08T09:00:00Z'; 
 
// Reset time part 
 
// var m = moment(s).startOf('day'); // no UTC 
 
var m = moment.utc(s).startOf('day'); // UTC mode 
 
// Format using custom format 
 
console.log(m.format('YYYYMMDD[T]HHmmss[Z]'));
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>

+1

Вы хотите быть в режиме utc для этого. Используйте 'moment.utc' –

Смежные вопросы