Javascript Moment.js-将分钟添加到小时的最后一分钟会导致相同的小时

Javascript Moment.js-将分钟添加到小时的最后一分钟会导致相同的小时,javascript,momentjs,Javascript,Momentjs,我目前正在尝试使用moment.js(2.24.0)在一小时的最后一分钟增加一分钟。但是,这会导致返回到同一小时的第一分钟 下面是一个示例代码: var minute = '2019-11-03 01:59:00'; console.log('Before: '+minute); minute = moment(minute, 'YYYY-MM-DD HH:mm:ss') .add(1, 'minutes') .format('YYYY-MM-DD HH:mm:00'

我目前正在尝试使用moment.js(2.24.0)在一小时的最后一分钟增加一分钟。但是,这会导致返回到同一小时的第一分钟

下面是一个示例代码:

  var minute = '2019-11-03 01:59:00';
  console.log('Before: '+minute);
  minute = moment(minute, 'YYYY-MM-DD HH:mm:ss')
    .add(1, 'minutes')
    .format('YYYY-MM-DD HH:mm:00');
  console.log('After: '+minute);
这导致:

Before: 2019-11-03 01:59:00
After: 2019-11-03 01:00:00

这是moment.js的错误还是预期行为?如果这是预期的行为,那么我该如何正确地处理它,直到下一个小时。

在美国,夏令时在2019-11-03的凌晨2点结束

在凌晨1:59增加一分钟时,您看到的行为并不是一个bug,而是当时实际发生的情况。计算基于您当前的时区,因此2019-11-03 01:59:00东部夏令时+1分钟=2019-11-03 01:00:00东部标准时间

如果在2:59而不是1:59运行相同的测试,它将按预期递增。您可以指定您实际上指的是东部时间凌晨1:59,但在尝试之前请确保事实上是这样


补充阅读:

在美国,夏令时在2019-11-03年凌晨2点结束

在凌晨1:59增加一分钟时,您看到的行为并不是一个bug,而是当时实际发生的情况。计算基于您当前的时区,因此2019-11-03 01:59:00东部夏令时+1分钟=2019-11-03 01:00:00东部标准时间

如果在2:59而不是1:59运行相同的测试,它将按预期递增。您可以指定您实际上指的是东部时间凌晨1:59,但在尝试之前请确保事实上是这样

补充阅读: