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

728x90

Show

    반응형

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

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

    반응형

    ◆ 결과

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

    300x250

    반응형

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

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

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


    답변

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

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

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

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