Преобразовать секунды в HH-MM-SS с JavaScript?

деревья Huffman - используемый для сжатия.

203
задан John Slegers 10 May 2018 в 06:53
поделиться

4 ответа

Don't you know datejs? it is a must know.

Using datejs, just write something like:

(new Date).clearTime()
          .addSeconds(15457)
          .toString('H:mm:ss');

--update

Nowadays date.js is outdated and not maintained, so use "Moment.js", which is much better as pointed out by T.J. Crowder.

100
ответ дан 23 November 2019 в 04:55
поделиться

I don't think any built-in feature of the standard Date object will do this for you in a way that's more convenient than just doing the math yourself.

hours = Math.floor(totalSeconds / 3600);
totalSeconds %= 3600;
minutes = Math.floor(totalSeconds / 60);
seconds = totalSeconds % 60;

Example:

let totalSeconds = 28565; let hours = Math.floor(totalSeconds / 3600); totalSeconds %= 3600; let minutes = Math.floor(totalSeconds / 60); let seconds = totalSeconds % 60; console.log("hours: " + hours); console.log("minutes: " + minutes); console.log("seconds: " + seconds); // If you want strings with leading zeroes: minutes = String(minutes).padStart(2, "0"); hours = String(hours).padStart(2, "0"); seconds = String(seconds).padStart(2, "0"); console.log(hours + ":" + minutes + ":" + seconds);
132
ответ дан 23 November 2019 в 04:55
поделиться

This does the trick:

function secondstotime(secs)
{
    var t = new Date(1970,0,1);
    t.setSeconds(secs);
    var s = t.toTimeString().substr(0,8);
    if(secs > 86399)
        s = Math.floor((t - Date.parse("1/1/70")) / 3600000) + s.substr(2);
    return s;
}

(Sourced from here)

16
ответ дан 23 November 2019 в 04:55
поделиться

Я использовал этот код раньше для создания простого объекта временного интервала:

function TimeSpan(time) {
this.hours = 0;
this.minutes = 0;
this.seconds = 0;

while(time >= 3600)
{
    this.hours++;
    time -= 3600;
}

while(time >= 60)
{
    this.minutes++;
    time -= 60;
}

this.seconds = time;
}

var timespan = new Timespan(3662);
0
ответ дан 23 November 2019 в 04:55
поделиться
Другие вопросы по тегам:

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