javascript - MomentJS 有时会添加错误的小时数

标签 javascript angular time momentjs

所以我只是想实现一个功能,将 X.X 小时添加到 24 小时时间中。问题在于时间 00:00,添加了不正确的小时数

我编写的代码大部分都有效。它适用于除 0:00 之外的所有可能时间。 如果我有 01:30,再加 1 小时,就会得到 02:30。如果我有 02:30,加上 1.5 小时,就会得到 04:00。

这就是这个问题。当我有 00:00 并添加 1h 时,我得到 01:06...似乎没有意义,我希望有更多 momentJS 经验的人可能对此事有一些想法或想法。代码如下

如果我有 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');

最佳答案

您使用的格式有误,hh 代表 12 小时,MM 代表两位数的月份数字。

使用这样的东西:

moment.utc(timesheetRows[i][p], 'HH:mm').add(Number(hours), 'hours').format('HH:mm');

关于javascript - MomentJS 有时会添加错误的小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56728459/

相关文章:

javascript - 动态加载表格主体内容,无需更改表格标题

javascript - 使用 Javascript 跨浏览器自动单击页面加载链接

angular - 在模型类 Angular 中注入(inject)服务

java - 日期时间字符串 + TimeZone

javascript - Momentjs 午夜以来的分钟数

java - 如何获取不同时区的日期和时间?

javascript - 闭包编译器 : could not determine the type of this expression at callback

angular - 如何在表单上设置多个值?

Angular Fire (Google) Analytics 事件显示在 Chrome GA 调试工具中,但未登录到 Firebase

javascript - 如何使用 jQuery 在 Select 事件中禁用不同的输入