Moment js不将小时和分钟添加到特定时间

斯科特

我有一个开始时间,我想增加一个结束时间。例如

startTime=19:09
endTime=00:51 // 0 hours and 51 minutes

我想在19:09上添加51分钟,使其成为20:00。

我已经尝试了多种不同的情况来显示风箱,但是没有任何东西可以给我正确的时间

我试过了

let [hour, minute] = endTime.split(':').map(Number);
this.endTime = Moment(startTime)).add({ hour: 'hours', minute: 'minutes' }) // also tried .add(hour,'hours').add(minute,'minutes')

仍然输出19:09。它只是无视我的结束时间

我试过了

Moment(endTime, 'hh:mm').add(Moment.duration(startTime)).format("hh:mm");

当我应该是20:00时,输出为08:00

我究竟做错了什么?我想将结束时间添加到开始时间。请记住,我的endTime总是在变化,因此有时可能是13:05等导致用户输入

缠扰者

您的代码存在三个主要问题:

  1. moment('19:09')像您那样仅创建带有时间戳的时刻(即没有日期的时刻)会被弃用并引发错误。您要么必须以RFC2822或ISO格式传递完全指定的时间戳,要么明确告诉库您正在使用哪种输入格式。

  2. add()从字面上传递给函数的对象

    {
      hour: "hours", 
      minute: "minutes"
    }
    

    即,不是传递小时和分钟的数值来添加到您的时刻,而是传递了字符串"hours""minutes",这显然是momentsjs无法处理的。

  3. 该格式hh:mm仅接受从0到的小时12如果您想要24小时制,则必须使用HH:mm

考虑到这些问题,以下代码片段按预期工作:

let start = '2021-01-07 19:09', 
    duration = '0:51', 
    starttime = '19:09';

let [hour, minute] = duration.split(":");

//shorthand initialization for the argument
let endtime1 = moment(start).add({hour, minute}).toString(); 

//explicit definition of property names
let endtime2 = moment(start).add({hours: hour, minutes: minute}).toString(); 

//add hours and minutes separately
let endtime3 = moment(start).add(hour, "hours").add(minute, "minutes").toString(); 

//provide a format for the timestamp. momentsjs will take the current date for the date value
let endtime4 = moment(starttime, "HH:mm").add(hour, "hours").add(minute, "minutes").toString();

console.log(endtime1);
console.log(endtime2);
console.log(endtime3);
console.log(endtime4);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

还请记住,要指定要操纵时间戳的哪个部分,可以使用单数形式或复数形式。

moment(...).add(4, "hour").add(17, "minute")moment(...).add({hour: 4, minute: 17})

相当于

moment(...).add(4, "hours").add(17, "minutes")moment(...).add({hours: 4, minutes: 17})

分别在创建endtime1的代码段中也可以看到endtime2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将小时和分钟数添加到特定时间java

来自分类Dev

使用JavaScript或JQuery或使用moment.js计算小时,分钟-2个日期和时间之间

来自分类Dev

如何使用moment.js从Unix时间戳获取剩余的小时,分钟和秒?

来自分类Dev

Moment JS在特定时区中创建日期时间

来自分类Dev

将新的时区添加到moment.js时区

来自分类Dev

如何使用moment.js将小时和分钟转换为分钟?

来自分类Dev

使用moment.js将天数添加到特定于语言环境的日期

来自分类Dev

moment.js 中的时间(小时、分钟)格式本地化

来自分类Dev

如何使用moment.js和moment-timezone.js将特定时区(非本地)的给定日期/时间转换为UTC

来自分类Dev

使用Moment Js从开始和结束日期获取小时和分钟

来自分类Dev

如何使用moment.js将分钟转换为小时

来自分类Dev

从Moment.js对象获取小时,分钟,秒

来自分类Dev

moment.js添加不会增加时间

来自分类Dev

moment.js添加不会增加时间

来自分类Dev

是否存在使用Meteor和moment.js在特定时间从集合中删除Mongo文档的标准方法?

来自分类Dev

moment.js如何与纬度分钟和小时一起工作?

来自分类Dev

修复Moment JS溢出

来自分类Dev

Moment.js日前

来自分类Dev

Moment js 打开和关闭时间

来自分类Dev

Moment.js:如何每分钟更新时间?

来自分类Dev

如何使用moment.js在特定时区中创建时间

来自分类Dev

为什么 moment.js 在格式化后将日期时间添加 3 分钟?

来自分类Dev

如何使用Moment Js执行定时减法?

来自分类Dev

如何使用Moment Js执行定时减法?

来自分类Dev

moment.js不会增加分钟

来自分类Dev

使用 moment js 舍入给定的分钟数

来自分类Dev

在moment.js中将毫秒转换为分钟和秒

来自分类Dev

如何使用moment.js对结果大于24小时的日期和时间求和

来自分类Dev

Moment.js将x分钟转换为y小时z分钟

Related 相关文章

  1. 1

    将小时和分钟数添加到特定时间java

  2. 2

    使用JavaScript或JQuery或使用moment.js计算小时,分钟-2个日期和时间之间

  3. 3

    如何使用moment.js从Unix时间戳获取剩余的小时,分钟和秒?

  4. 4

    Moment JS在特定时区中创建日期时间

  5. 5

    将新的时区添加到moment.js时区

  6. 6

    如何使用moment.js将小时和分钟转换为分钟?

  7. 7

    使用moment.js将天数添加到特定于语言环境的日期

  8. 8

    moment.js 中的时间(小时、分钟)格式本地化

  9. 9

    如何使用moment.js和moment-timezone.js将特定时区(非本地)的给定日期/时间转换为UTC

  10. 10

    使用Moment Js从开始和结束日期获取小时和分钟

  11. 11

    如何使用moment.js将分钟转换为小时

  12. 12

    从Moment.js对象获取小时,分钟,秒

  13. 13

    moment.js添加不会增加时间

  14. 14

    moment.js添加不会增加时间

  15. 15

    是否存在使用Meteor和moment.js在特定时间从集合中删除Mongo文档的标准方法?

  16. 16

    moment.js如何与纬度分钟和小时一起工作?

  17. 17

    修复Moment JS溢出

  18. 18

    Moment.js日前

  19. 19

    Moment js 打开和关闭时间

  20. 20

    Moment.js:如何每分钟更新时间?

  21. 21

    如何使用moment.js在特定时区中创建时间

  22. 22

    为什么 moment.js 在格式化后将日期时间添加 3 分钟?

  23. 23

    如何使用Moment Js执行定时减法?

  24. 24

    如何使用Moment Js执行定时减法?

  25. 25

    moment.js不会增加分钟

  26. 26

    使用 moment js 舍入给定的分钟数

  27. 27

    在moment.js中将毫秒转换为分钟和秒

  28. 28

    如何使用moment.js对结果大于24小时的日期和时间求和

  29. 29

    Moment.js将x分钟转换为y小时z分钟

热门标签

归档