Какой формат времени "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>
Подробнее в документации.