자바스크립트 밀리세컨드 시간 변환 - jabaseukeulibteu millisekeondeu sigan byeonhwan

728x90

반응형

1 밀리초 = 1/1000초

1초 = 1000 밀리초

1분 = 60초 (60*1,000 = 60,000 밀리초)

1시간 = 60분 (60 * 60 * 1,000 = 3,600,000 밀리초)

1일 = 24시간 (24 * 60 * 60 * 1,000)

728x90

날짜를 계산할 때에는 밀리초로 바꾸고 계산하는 것이 좋음

날짜 정보를 밀리초로 가져오는 함수 getTime()

const now = new Date(); const firstDay = new Date("2016-03-27"); const tonow= now.getTime(), passedTime = firstDay.getTime(); console.log("tonow = "+tonow+" and passedTime = "+passedTime);

반응형

◆ 결과

300x250

반응형

'Coding With Jina > JavaScript' 카테고리의 다른 글

[자바스크립트] 날짜계산기 만들기  (0) [자바스크립트] input date 입력값 확인 눌러서 출력하기  (0) [자바스크립트] 시간 단위 그리고 밀리초로 바꾸는 getTime() 함수  (0) [자바스크립트] 시계 오전 오후로 나눠서 출력하기  (0) [자바스크립트] 시계 10 이하 숫자 두자리수로 만들기(if문 단축형/축약형)  (0) [1분코딩] 자바스크립트 기초 - DOM  (0)
2021.01.06
2021.01.06
2021.01.04
2021.01.04
2021.01.04
2020.12.01

시간은 밀리 초이지만 변환 후 시간이 필요합니다 00:00:00.

예 : 밀리 초 단위 = 86400000. 그 밀리 초에서 몇 시간을 원합니다.00:00:00

JavaScript로 가져 오는 방법?

답변

아래와 같이 자바 스크립트에서 함수를 생성하여이 작업을 수행하는 것은 어떻습니까?

function msToTime(duration) { var milliseconds = parseInt((duration % 1000) / 100), seconds = Math.floor((duration / 1000) % 60), minutes = Math.floor((duration / (1000 * 60)) % 60), hours = Math.floor((duration / (1000 * 60 * 60)) % 24); hours = (hours < 10) ? "0" + hours : hours; minutes = (minutes < 10) ? "0" + minutes : minutes; seconds = (seconds < 10) ? "0" + seconds : seconds; return hours + ":" + minutes + ":" + seconds + "." + milliseconds; } console.log(msToTime(300000))

답변

시간을 밀리 초 단위로 사람이 읽을 수있는 형식으로 변환합니다.

function timeConversion(millisec) { var seconds = (millisec / 1000).toFixed(1); var minutes = (millisec / (1000 * 60)).toFixed(1); var hours = (millisec / (1000 * 60 * 60)).toFixed(1); var days = (millisec / (1000 * 60 * 60 * 24)).toFixed(1); if (seconds < 60) { return seconds + " Sec"; } else if (minutes < 60) { return minutes + " Min"; } else if (hours < 24) { return hours + " Hrs"; } else { return days + " Days" } }

답변

나는 똑같은 문제가 있었고 이것이 결국 내가했던 것입니다.

function parseMillisecondsIntoReadableTime(milliseconds){ //Get hours from milliseconds var hours = milliseconds / (1000*60*60); var absoluteHours = Math.floor(hours); var h = absoluteHours > 9 ? absoluteHours : '0' + absoluteHours; //Get remainder from hours and convert to minutes var minutes = (hours - absoluteHours) * 60; var absoluteMinutes = Math.floor(minutes); var m = absoluteMinutes > 9 ? absoluteMinutes : '0' + absoluteMinutes; //Get remainder from minutes and convert to seconds var seconds = (minutes - absoluteMinutes) * 60; var absoluteSeconds = Math.floor(seconds); var s = absoluteSeconds > 9 ? absoluteSeconds : '0' + absoluteSeconds; return h + ':' + m + ':' + s; } var time = parseMillisecondsIntoReadableTime(86400000); alert(time);

답변

이것은 유튜브 비디오처럼 시간을 반환합니다.

function getYoutubeLikeToDisplay(millisec) { var seconds = (millisec / 1000).toFixed(0); var minutes = Math.floor(seconds / 60); var hours = ""; if (minutes > 59) { hours = Math.floor(minutes / 60); hours = (hours >= 10) ? hours : "0" + hours; minutes = minutes - (hours * 60); minutes = (minutes >= 10) ? minutes : "0" + minutes; } seconds = Math.floor(seconds % 60); seconds = (seconds >= 10) ? seconds : "0" + seconds; if (hours != "") { return hours + ":" + minutes + ":" + seconds; } return minutes + ":" + seconds; }

산출:

  • getYoutubeLikeToDisplay (129900) = “2:10”
  • getYoutubeLikeToDisplay (1229900) = “20:30”
  • getYoutubeLikeToDisplay (21229900) = “05:53:50”

답변

여기 내 해결책이 있습니다.

let h,m,s; h = Math.floor(timeInMiliseconds/1000/60/60); m = Math.floor((timeInMiliseconds/1000/60/60 - h)*60); s = Math.floor(((timeInMiliseconds/1000/60/60 - h)*60 - m)*60);

// 00:00:00 시간 형식 가져 오기

s < 10 ? s = `0${s}`: s = `${s}` m < 10 ? m = `0${m}`: m = `${m}` h < 10 ? h = `0${h}`: h = `${h}` console.log(`${s}:${m}:${h}`);

답변

미안 해요, 파티에 늦었어요. 받아 들여진 대답은 나를 위해 그것을 자르지 않았으므로 직접 작성했습니다.

산출:

2h 59s 1h 59m 1h 1h 59s 59m 59s 59s

코드 (Typescript) :

function timeConversion(duration: number) { const portions: string[] = []; const msInHour = 1000 * 60 * 60; const hours = Math.trunc(duration / msInHour); if (hours > 0) { portions.push(hours + 'h'); duration = duration - (hours * msInHour); } const msInMinute = 1000 * 60; const minutes = Math.trunc(duration / msInMinute); if (minutes > 0) { portions.push(minutes + 'm'); duration = duration - (minutes * msInMinute); } const seconds = Math.trunc(duration / 1000); if (seconds > 0) { portions.push(seconds + 's'); } return portions.join(' '); } console.log(timeConversion((60 * 60 * 1000) + (59 * 60 * 1000) + (59 * 1000))); console.log(timeConversion((60 * 60 * 1000) + (59 * 60 * 1000) )); console.log(timeConversion((60 * 60 * 1000) )); console.log(timeConversion((60 * 60 * 1000) + (59 * 1000))); console.log(timeConversion( (59 * 60 * 1000) + (59 * 1000))); console.log(timeConversion( (59 * 1000)));

답변

위의 스 니펫은 1 일 이상인 경우에는 작동하지 않습니다 (단순히 무시 됨).

이를 위해 다음을 사용할 수 있습니다.

function convertMS(ms) { var d, h, m, s; s = Math.floor(ms / 1000); m = Math.floor(s / 60); s = s % 60; h = Math.floor(m / 60); m = m % 60; d = Math.floor(h / 24); h = h % 24; h += d * 24; return h + ':' + m + ':' + s; }

//gist.github.com/remino/1563878 덕분에

관련 게시물

Toplist

최신 우편물

태그