MomentJS иногда добавляет неправильное количество часов - PullRequest
0 голосов
/ 24 июня 2019

Так что я просто пытаюсь достичь функции, где я добавляю количество часов X.X к 24-часовому времени. Выдача на время 00:00, добавлено неверное количество часов

Код, который я написал, по большей части работает. Это работает для любого возможного времени кроме 0:00. Если у меня есть 01:30, и я добавляю 1 час, это дает мне 02:30. Если у меня есть 02:30 и я добавляю 1,5 часа, это дает мне 04:00.

Итак, вот этот вопрос. Когда у меня есть 00:00, и я добавляю 1h, я получаю 01:06 ... кажется, что нет смысла, и я надеялся, что у кого-то с большим опытом, возможно, есть какие-то мысли или идеи по этому вопросу. Вот код

Если у меня есть 00:00 и 3,5, я получаю 03:06. Все это только кажется, когда я начинаю с 00:00. Вид сводит меня с ума

console.log(timesheetRows[i][p]); //prints 0:00
console.log(Number(hours)); // prints 1
timesheetRows[i][p] = moment.utc(timesheetRows[i][p], 'hh:mm').add(Number(hours), 'hours').format('HH:MM');

1 Ответ

3 голосов
/ 24 июня 2019

Вы используете неправильные форматы, hh обозначает 12 часов, а MM обозначает двухзначный номер месяца.

Используйте что-то вроде этого:

moment.utc(timesheetRows[i][p], 'HH:mm').add(Number(hours), 'hours').format('HH:mm');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...