Получить текущее время в моментJS дату - PullRequest
0 голосов
/ 30 сентября 2018

Мне нужна помощь для форматирования даты, чтобы получить результат в нужном формате.

Expected: Sun Sep 30 2018 20:39:52 GMT+0530
Recieved: Sun Sep 30 2018 00:00:00 GMT+0530

Что я пытаюсь:

console.log(moment('2018-09-30'));

Ответы [ 5 ]

0 голосов
/ 01 октября 2018

Вы не предоставляете время к моменту, поэтому вы получите:

moment('2018-09-30').toString() // "Sun Sep 30 2018 00:00:00 GMT-0700"

Теперь, если вы используете moment с new Date('2018-09-30'), и все равно вы не предоставляете время:

moment(new Date('2018-09-30')).toString() // "Sun Sep 30 2018 17:00:00 GMT+0000"

Но теперь вы получаете время по умолчанию GMT+0000, но не точное, которое вы ожидаете.

Теперь, если вы просто используете new Date(), вы получите желаемый результат, поскольку new Date() включает датуи время и т. д.

moment(new Date()).toString() // "Sun Sep 30 2018 18:55:46 GMT-0700"

Таким образом, суть в том ... если вы хотите, чтобы ваше время вышло ... введите его:)

0 голосов
/ 30 сентября 2018

Если вы просто хотите получить текущее время и вывод в желаемом формате, вы должны сделать так:

moment().format('dddd MMM DD YYYY HH:MM:SS Z')

вывод: Понедельник, октябрь 01 2018 03:10:39 +10: 00

вам не нужно передавать текущую дату в момент ()

0 голосов
/ 30 сентября 2018
moment.parseZone('2016-05-03T22:15:01+02:00').local().format();
0 голосов
/ 30 сентября 2018
console.log(moment('2018-09-30')); won't give you `Sun Sep 30 2018 00:00:00 GMT+0530` this.

будет распечатан и моментальный объект.

если вам нужен точный формат, который вам может не понадобиться moment.js,

console.log(new Date().toString()) //"Sun Nov 04 2018 00:00:00 GMT+0530 (India Standard Time)"

Надеюсь, это поможет.

0 голосов
/ 30 сентября 2018

Пример кода не содержит даты со временем.

Однако для печати в определенном желаемом формате вы можете использовать moment.format().См. документацию .

const m = moment('2018-09-30');
console.log(m.format());
console.log(m.format('YYYY-MM-DD, HH:mm:ss ZZ'));
console.log(m.format('ddd MMM DD YYYY HH:mm:ss \\G\\M\\T ZZ'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

Если вы на самом деле отправляете время в ваших сэмплах, код будет таким же.Если вы не хотите сохранить первоначальный часовой пояс.Для этого я ответил на тот же вопрос несколько минут назад.Вот ответ для этого .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...