将持续时间添加到片刻(moment.js)

保罗·H:

瞬间版本:2.0.0

阅读文档后,我认为这很简单(Chrome控制台):

var timestring1 = "2013-05-09T00:00:00Z";
var timestring2 = "2013-05-09T02:00:00Z";
var startdate = moment(timestring1);
var expected_enddate = moment(timestring2);
var returned_endate = startdate.add(moment.duration(2, 'hours'));
returned_endate == expected_enddate  // false
returned_endate  // Moment {_i: "2013-05-09T00:00:00Z", _f: "YYYY-MM-DDTHH:mm:ss Z", _l: undefined, _isUTC: false, _a: Array[7]…}

这是一个简单的例子,但我什至无法使它正常工作。我觉得我在这里缺少重要的东西,但我真的不明白。即使这样,这似乎也不起作用:

startdate.add(2, 'hours')
    // Moment {_i: "2013-05-09T00:00:00Z", _f: "YYYY-MM-DDTHH:mm:ss Z", _l: undefined, _isUTC: false, _a: Array[7]…}

任何帮助将非常感激。

编辑:我的最终目标是制作一个二进制状态图,就像我在这里工作的那样:http : //bl.ocks.org/phobson/5872894

如您所见,在解决此问题时,我目前正在使用虚拟x值。

马特·约翰逊·品脱(Matt Johnson-Pint):

我认为您错过了文档中的关键点 .add()

通过增加时间来改变原始时刻。

您似乎将其视为返回不变结果的函数。容易犯的错误。:)

如果使用返回值,则它是与开始时相同的实际对象。只是为了方便方法链接而返回。

您可以通过克隆时刻来解决此问题,如此处所述

另外,您不能只==用来测试。您可以将每个时刻格式化为相同的输出并进行比较,或者可以只使用该.isSame()方法。

您的代码现在为:

var timestring1 = "2013-05-09T00:00:00Z";
var timestring2 = "2013-05-09T02:00:00Z";
var startdate = moment(timestring1);
var expected_enddate = moment(timestring2);
var returned_endate = moment(startdate).add(2, 'hours');  // see the cloning?
returned_endate.isSame(expected_enddate)  // true

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将前导零添加到moment.js时间

Moment js格式持续时间

Moment.js:将持续时间细分为年,月,周,天等

将持续时间添加到C ++时间点

用moment.js检查零持续时间

Moment JS持续时间更加人性化

Moment.js:持续时间显示错误结果

Moment.js持续时间的Typescript类型定义

将Scala并发持续时间添加到DateTime

将持续时间添加到日期mongodb

JS脚本持续时间

当持续时间少于一个小时时,使用moment.js以00:XX格式显示持续时间

如何使用 Moment.js 持续时间格式从持续时间中删除标点符号

moment.js添加的时间不持续在模拟时钟上

将持续时间(以int形式)添加到时间(作为对象)中

Excel/Google 工作表将持续时间添加到日期/时间

将持续时间添加到时间点无效

将日期和时间添加到事件持续时间

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

如何在moment.js持续时间上使用format()?

如何使用moment.js解析ISO 8601格式的持续时间?

获取两个日期之间的持续时间(Moment JS)

如何使用 moment.js 从分钟整数中获取格式为“hh:mm”的持续时间?

如何使用Moment.js完全格式化持续时间?

moment js:自定义格式字符串到一天的持续时间

如何从Moment.js持续时间获取特定日期?

如何通过将持续时间添加到开始日期 SQL 来更新结束日期

使用time4j将持续时间添加到某个时刻

使用nth-child将CSS动画持续时间添加到不同元素