Строка времени в секундах в JavaScript в формате hh: mm: ss

Я хочу преобразовать продолжительность времени, то есть количество секунд в строку времени, разделенную двоеточиями (hh: mm: ss)

Я нашел здесь несколько полезных ответов, но все они говорят о преобразовании в формат x часов и x минут.

Так есть небольшой фрагмент, который делает это в jQuery или просто необработанный JavaScript?

272
задан John Slegers 1 May 2018 в 05:26
поделиться

1 ответ

Я видел, что общая регистрация их взятий на проблеме несмотря на то, что немного главных ответов уже включают всю необходимую информацию для адаптации для определенного варианта использования.

И так как я хочу быть бедром также - вот, мое ненужное и немного громоздкое решение, которое является:

a) Читаемый (я надеюсь!)
b) Легко настраиваемый
c) не печатает, любой обнуляет

барабан

function durationToDDHHMMSSMS(durms) {
    if (!durms) return "??";

    var HHMMSSMS = new Date(durms).toISOString().substr(11, 12);
    if (!HHMMSSMS) return "??";

    var HHMMSS = HHMMSSMS.split(".")[0];
    if (!HHMMSS) return "??";

    var MS = parseInt(HHMMSSMS.split(".")[1],10);
    var split = HHMMSS.split(":");
    var SS = parseInt(split[2],10);
    var MM = parseInt(split[1],10);
    var HH = parseInt(split[0],10); 
    var DD = Math.floor(durms/(1000*60*60*24));

    var string = "";
    if (DD) string += ` ${DD}d`;
    if (HH) string += ` ${HH}h`;
    if (MM) string += ` ${MM}m`;
    if (SS) string += ` ${SS}s`;
    if (MS) string += ` ${MS}ms`;

    return string;
},

Примечание, что этот код использует строки шаблона ES6, я уверен, что такие штаны присяжного острослова, поскольку Вы, не испытают никаких затруднений при замене их обычными строками при необходимости.

0
ответ дан 23 November 2019 в 02:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: