Добавление часов с помощью momentJS, кажется, прерывается после 12:00 - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь добавить определенное количество часов к любому заданному времени. Допустим, у меня есть время 04:00, и я добавляю 12.0h. я хочу получить 16: 00.

Я пытаюсь добиться этого, используя методы momentJS add и subtract, и это работает, но только до 12 часов. Некоторые примеры, иллюстрирующие проблему:

  • Если у меня есть 04:00 и я добавляю 12 часов, я получаю 04: 00.
  • Если у меня есть 10:00 и я добавляю 3 часа, я получаю 01: 00
  • если у меня есть 12:00 и я добавляю 1 ч, я получаю 01: 00
  • если у меня есть 11:00 и я добавляю 1 ч, я получаю 12: 00

Код:

const res = moment.utc('04:00', 'hh:mm').add(12, 'hours').format('hh:mm');

Я ожидаю, что вышесказанное войдет в 16:00, а не 04: 00

спасибо за любую помощь заранее!

1 Ответ

0 голосов
/ 16 мая 2019

Это потому, что вы используете строку формата hh:mm со строчными буквами.Это заставляет момент выплевывать 12-часовой формат.Если вы хотите 24-часовой формат, буквы должны быть в верхнем регистре HH:mm.Если вы добавите a в конец строки формата, вы обнаружите, что она помечает его как 4:00 вечера (hh:mm a).

вот демо

// code for demo

const moment = require("moment");




const init = moment.utc('4:00', 'hh:mm');
const added = init.add(12, 'hours');


console.log(added);
console.log(added.format('hh:mm')); // 4:00
console.log(added.format('hh:mm a')); // 4:00 pm
console.log(added.format('HH:mm')); // 16:00

документы формата момента

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