[javascript] JavaScript를 사용하여 초를 HH-MM-SS로 변환 하시겠습니까?

HH-MM-SSJavaScript를 사용하여 초를 문자열 로 변환하려면 어떻게 해야합니까?



답변

당신은 datejs 를 모르 십니까 ? 반드시 알아야합니다.

datejs를 사용하여 다음과 같이 작성하십시오.

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

–최신 정보

현재 date.js는 구식이며 유지 관리되지 않으므로 ” Moment.js “를 사용하십시오. 이는 TJ Crowder가 지적한 것보다 훨씬 좋습니다.

-업데이트 2

@Frank의 단선 솔루션을 사용하십시오.

new Date(SECONDS * 1000).toISOString().substr(11, 8)

지금까지 최고의 솔루션입니다.


답변

다음과 같은 JavaScript Date 메소드를 사용하여 외부 JavaScript 라이브러리 없이이 작업을 수행 할 수 있습니다.

var date = new Date(null);
date.setSeconds(SECONDS); // specify value for SECONDS here
var result = date.toISOString().substr(11, 8);

또는 @Frank 의 의견에 따라; 하나의 라이너 :

new Date(SECONDS * 1000).toISOString().substr(11, 8);


답변

표준 Date 객체의 내장 기능이 수학을 직접 수행하는 것보다 더 편리한 방법 으로이 작업을 수행한다고 생각하지 않습니다.

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

예:


답변

나는 이것이 다소 오래되었다는 것을 알고 있지만 …

ES2015 :

var toHHMMSS = (secs) => {
    var sec_num = parseInt(secs, 10)
    var hours   = Math.floor(sec_num / 3600)
    var minutes = Math.floor(sec_num / 60) % 60
    var seconds = sec_num % 60

    return [hours,minutes,seconds]
        .map(v => v < 10 ? "0" + v : v)
        .filter((v,i) => v !== "00" || i > 0)
        .join(":")
}

출력됩니다 :

toHHMMSS(129600) // 36:00:00
toHHMMSS(13545) // 03:45:45
toHHMMSS(180) // 03:00
toHHMMSS(18) // 00:18


답변

Cleiton가에서 지적 그의 대답 , moment.js는 이 사용할 수 있습니다 :

moment().startOf('day')
        .seconds(15457)
        .format('H:mm:ss');


답변

function formatSeconds(seconds)
{
    var date = new Date(1970,0,1);
    date.setSeconds(seconds);
    return date.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1");
}


답변

이것은 트릭을 수행합니다.

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;
}

( 여기 에서 출처 )