2016-08-22 1 views
-1

Я бы хотел добавить две длительности вместе, например: 00:04:00 + 07:23:00 = 07:27 : 00Добавление двух длительностей вместе с Datejs или Momentjs и их формирование как «HH: mm: ss»

var std_count = "00:06:00"; 
    var std_create = "07:23:00"; 

    var time_2 = moment.duration(std_count, "HH:mm:ss"); 
    var time_3 = moment.duration(std_create, "HH:mm:ss"); 
    var final = time_2.add(time_3, "HH:mm:ss"); 

пс. Мне не удалось найти такое дополнение в момент js или date js. Заранее спасибо.

+0

http://momentjs.com/docs/#/manipulating/ – jonrsharpe

+0

Я просто не могу понять это, я обновил свой код. –

+0

Это не времена, это длительности. Проверьте документацию о продолжительности. –

ответ

0

Использование DateJS с time.js включены, вы можете воспользоваться TimeSpan класса.

Пример

var std_count = Date.parse("00:06:00").getTimeOfDay(); 
var std_create = Date.parse("07:23:00").getTimeOfDay(); 

var final = std_count.add(std_create); 

final.toString("HH:mm:ss"); 
// "07:29:00" 

или вы могли бы осуществить это в одной приковано последовательности:

Date.parse("00:06:00") 
    .getTimeOfDay() 
    .add(Date.parse("07:23:00").getTimeOfDay()) 
    .toString("HH:mm:ss"); 

Надеется, что это помогает.

+0

Спасибо за ответ, это более элегантное решение, чем мое. –

+0

пс. вы можете включить time.js в документацию datejs.com или страницу загрузки. –

+0

файл time.js доступен в формате .zip. https://code.google.com/archive/p/datejs/downloads. Он также был задокументирован в какой-то момент, но, похоже, сейчас отсутствует. Вики-проект проекта GitHub должен быть обновлен с помощью документации. –

0
var std_count = "00:04:00"; 
    var std_create = "07:23:00"; 
    var final_hours = moment.duration(std_count, "HH:mm:ss").add(std_create, "HH:mm:ss").hours(); 
    var final_minutes = moment.duration(std_count, "HH:mm:ss").add(std_create, "HH:mm:ss").minutes(); 
    var final_seconds = moment.duration(std_count, "HH:mm:ss").add(std_create, "HH:mm:ss").seconds(); 

    var final_calc = final_hours*3600+final_minutes*60+final_seconds; 

    alert(moment.duration(final_calc, "seconds").format("HH:mm:ss")); 

    Output : "07:27:00" 

пс. moment.js и moment-duration-format.js должны быть включены.