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' 카테고리의 다른 글
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}`);답변
미안 해요, 파티에 늦었어요. 받아 들여진 대답은 나를 위해 그것을 자르지 않았으므로 직접 작성했습니다.
산출:
코드 (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 덕분에