HH-MM-SS
JavaScript를 사용하여 초를 문자열 로 변환하려면 어떻게 해야합니까?
답변
당신은 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;
}
( 여기 에서 출처 )