【问题标题】:MomentJS add hours up to 24MomentJS 将小时数增加到 24
【发布时间】:2021-12-29 03:40:41
【问题描述】:

我必须解决这个问题: 在代码中,我可能会有看起来像这样的时刻

{ start: '2020-08-03T00:00:00Z', end: '2020-08-03T23:59:59Z' }

{ start: '2020-08-03T15:11:51Z', end: '2020-08-04T15:11:50Z' }

如果开始时间是 00:00,我想添加 24 小时,以便在开始和结束之间我得到一整天(意味着这个对象代表一天)

但是,如果 start 的时间超过 00:00,比如说 2020-08-03T15:11:51Z,那么我想精确地添加导致 end 为 2020-08-03T23:59 的时间量:59Z

现在在我的情况下,它增加了 24 小时,它超出了 08-03 并在逻辑上导致 08-04

我这样添加时间:

.add(23, 'hours').add(59.999999, 'minutes').format()

是否有一种简单的方式来指示此信息,例如“如果”,并将必要的时间添加到 24 来填满一天? 谢谢

【问题讨论】:

    标签: time timestamp momentjs


    【解决方案1】:

    如果你想每次都得到一天的结束,你可以使用.endOf('day')如果你想得到一天的结束

    const obj1 = { start: '2020-08-03T00:00:00Z', end: '2020-08-03T23:59:59Z' }
    
    console.log(moment(obj1.start).endOf('day'));
    
    const obj2 = { start: '2020-08-03T15:11:51Z', end: '2020-08-04T15:11:50Z' }
    
    console.log(moment(obj2.start).endOf('day'));
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-25
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-19
      • 1970-01-01
      相关资源
      最近更新 更多