Какой формат времени "2018-06-29T08:51:00Z"? Можете ли вы сказать мне, какой формат строки я должен использовать в moment.js для достижения этой цели?

Я использовал moment(dateFromAPI,"YYYY-MM-DD") для анализа даты, и это дает дату в формате "2018-06-29T18:30:00.000Z".

Но мне нужно отправить дату в формате "2018-06-29T08:51:00Z".

Может кто-нибудь объяснить мне, что это за формат "2018-06-29T08:51:00Z"?
и какой формат строки я должен использовать для достижения этой цели?

1 ответ

Решение

Это полная дата / время ISO-8601 в UTC. Это один из немногих форматов, который вы можете надежно и правильно передать moment без строки формата:

var m = moment("2018-06-29T18:30:00.000Z");

Это потому, что это единственный формат JavaScript Date объект требуется для поддержки. (Но этот раздел, представленный в ES2015, необходимо было изменить в ES2016 и ES2017, и обратите внимание, что когда в строке нет индикатора часового пояса [есть у вас,Z], строки только для даты интерпретируются как UTC, а строки даты / времени - как местное время, которое отличается от ISO-8601.)

Вы можете создать свою строку без миллисекунд сutc а также formatи добавлениеZв конце:

console.log(m.utc().format("YYYY-MM-DDTHH:mm:ss") + "Z"); // "2018-06-29T18:30:00.000Z"

Пример:

var m = moment("2018-06-29T18:30:00.000Z");
console.log(m.utc().format("YYYY-MM-DDTHH:mm:ss") + "Z"); // "2018-06-29T18:30:00.000Z"
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

Подробнее в документации.

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