如何在时间字符串中添加分钟?

时间:2016-08-26 21:37:29

标签: javascript momentjs

我正在使用momentjs来操纵时间。我有一个小时,分钟,第二个字符串,如' 30:00'。我想为它添加几分钟。使用momentjs,我可以将此字符串转换为分钟,然后我可以轻松添加我想要的分钟数。但是我如何让它回到刺痛状态呢?

ex-moment.duration(' 00:30:00')。asMinutes;会给我几分钟。 假设这给了30,我可以再增加30分钟,使其达到60分钟。 如何使用momentjs将60mins再次转换为此字符串?

打印时

console.log(moment.duration('00:30:00').add(30, 'minutes'));

我正在

[object Object] { _bubble: function Zc(){var    a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;
// if we have a mix of positive and negative values, bubble down first
// check: https://github.com/moment/moment/issues/2166
// The following code bubbles up values, see the tests for
// examples of what that means.
// convert days to months
// 12 months -> 1 year
return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>=h||(f+=864e5*Yc(_c(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=s(f/1e3),i.seconds=a%60,b=s(a/60),i.minutes=b%60,c=s(b/60),i.hours=c%24,g+=s(c/24),e=s($c(g)),h+=e,g-=Yc(_c(e)),d=s(h/12),h%=12,i.days=g,i.months=h,i.years=d,this},
  .... continued

2 个答案:

答案 0 :(得分:2)

您需要使用.add

moment.duration('00:30:00').add(30, 'minutes);

然后你可以在其上运行.asMinutes来打印总持续时间。

moment.duration('00:30:00').add(30, 'minutes').asMinutes();

您希望最后始终使用.asMinutes,只有在您想要拉出总分钟数时才会使用。{/ p>

答案 1 :(得分:-1)

您可以通过克隆时刻as described here来解决此问题。

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