2016-08-26 3 views
0

Я использую momentjs для управления временем. У меня есть час, минута, вторая строка, например «00: 30: 00». И я хочу добавить к нему несколько минут. С momentjs я могу преобразовать эту строку в минуты, тогда я могу легко добавить минуты, которые я хочу. Но как мне вернуться к жало?Как добавить минуты в строку времени?

ex - moment.duration ('00: 30: 00 '). AsMinutes; даст мне минутку. Предположим, что это дает 30, я могу добавить еще 30 минут, чтобы сделать это 60 минут. как мне преобразовать 60 минут в эту строку снова с помощью momentjs?

На печать

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

Вы должны будете использовать .add.

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

Затем вы можете запустить .asMinutes на том, что для печати общей продолжительности.

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

Вы хотите всегда использовать .asMinutes наконец, только тогда, когда вы хотите вывести общее количество минут.

+0

Это дает мне что-то еще. Можете ли попробовать один раз – scripter

+0

@scripter Пожалуйста, отредактируйте свой вопрос с помощью того, что вы пробовали, и всего сообщения об ошибке. –

+0

Я обновил его. – scripter

-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 
+0

Я хочу преобразовать минуты в строку, как это '00: 30: 00'. – scripter

Смежные вопросы