Вопрос:

Добавляем две длительности вместе с Datejs или Momentjs и форматируем их как «ЧЧ: мм: сс»

javascript momentjs datejs

545 просмотра

2 ответа

23 Репутация автора

Я хотел бы добавить 2 длительности вместе, например: 00:04:00 + 07:23:00 = 07:27:00

    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 или дату js. Заранее спасибо.

Автор: Gy.Feher Источник Размещён: 22.08.2016 08:53

Ответы (2)


1 плюс

23 Репутация автора

    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"

пс. момент.js и момент-продолжительность-формат.js должны быть включены.

Автор: Gy.Feher Размещён: 22.08.2016 10:54

0 плюса

2310 Репутация автора

Решение

Используя 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");

Надеюсь это поможет.

Автор: geoffrey.mcgill Размещён: 27.08.2016 06:56
Вопросы из категории :
32x32