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

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

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

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

1 Ответ

0 голосов
/ 25 июня 2018

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

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

Это потому, что он находится в единственном формате, который требуется для Date объекта JavaScript . (Но этот раздел, представленный в 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>

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

...