Jquery 시간 변환 - Jquery sigan byeonhwan

[자바스크립트] milliSeconds를 시/분/초로 변환하는 법

  • 2021.07.07 19:32
  • 프로그래밍/JavaScript

Jquery 시간 변환 - Jquery sigan byeonhwan

milliSeconds를 시, 분, 초로 변환

  • 시간 계산하면 milliSeconds 상태에서 계산하게 된다.

milliSeconds -> 시(Hours)

((milliSeconds / (1000 * 60 *60 )) % 24 );

milliSeconds -> 분(Minutes)

((milliSeconds / (1000 * 60 )) % 60 );

milliSeconds -> 초 (Seconds)

(milliSeconds / 1000 ) % 60 ;

요약

const days = Math.floor(gap / (1000 * 60 * 60 * 24)); // 일
const hour = String(Math.floor((gap/ (1000 * 60 *60 )) % 24 )).padStart(2, "0"); // 시
const minutes = String(Math.floor((gap  / (1000 * 60 )) % 60 )).padStart(2, "0"); // 분
const second = String(Math.floor((gap / 1000 ) % 60)).padStart(2, "0"); // 초

📌 참고

  • 바닐라 JS로 크롬 앱 만들기 - 노마드 코더 Nomad Coders

특정 날짜와 오늘 날짜 사이의 시간 구하기 (feat. D-day 계산기)

getTime()

  • 표준시에 따라 지정된 날짜의 시간에 해당하는 숫자 값을 반환
  • 1970 년 1 월 1 일 00:00:00 UTC와 주어진 날짜 사이의 경과 시간 (밀리 초)을 나타내는 숫자
  • 결과값이 밀리 초 단위로 나오기 때문에 변환해주어야함
const date = new Date();
const HappyNewYear = new Date("2023-01-01T00:00:00");
const Dday = HappyNewYear.getTime()-date.getTime(); 

// 22026379074 <- 2022-04-21 기준

변환하는 법

초 : Dday / 1000 (ms단위)

분 : Dday / 1000 * 60 (60초)

시 : Dday  / 1000 * 60 * 60 (60분)

일 : Dday  / 1000 * 60 * 60 * 24 (24시간)

ex) 시간을 구한다면? 

먼저 Dday에서 일(Dday  / 1000 * 60 * 60 * 24)을 나눈 후 나머지를 시간(1000 * 60 * 60)으로 나누기!

(소수점 처리를 위해 Math.floor() 필요)

* Math.floor() : 함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환

참고링크

https://horangi.tistory.com/396

  • Jquery 시간 변환 - Jquery sigan byeonhwan

    시간계산

    계산할 두 시각을 정한다.

    var 시간1 = new Date("2019-09-03 12:00:00");
    var 시간2 = new Date("2019-09-03 14:23:32");

    두 시각의 간격을 변수 "간격"에 입력한다.

    var 간격 = 시간2 - 시간1;
    // 간격 의 값은 8612000(밀리초) 가 된다.

    간격 값의 시, 분, 초 값을 얻는다.

    var 시 = Math.floor((간격 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    var 분 = Math.floor((간격 % (1000 * 60 * 60)) / (1000 * 60));
    var 초 = Math.floor((간격 % (1000 * 60)) / 1000);

    console.log( 시 +"시간 "+ 분 +"분 "+ 초 +"초" );
    // 2시간 23분 32초

    날짜계산

    계산할 두 날짜의 차이를 얻어 변수 '날수'에 넣는다.

    var 날수 = new Date("2019-12-25") - new Date("2019-09-03");
    // 9763200000

    하루 24시간을 밀리초로 변환하면

    var 하루초 = 24 * 60 * 60 * 1000;
    // 86400000

    날짜 계산하기

    console.log("일수 차이 : "+ parseInt(날수 / 하루초) +" 일");
    console.log("월수 차이 : "+ parseInt(날수 / (하루초 * 30)) +" 월");
    console.log("년수 차이 : "+ parseInt(날수 / (하루초 * 30 * 12)) +" 년");
    // 일수 차이 : 113 일
    // 월수 차이 : 3 월
    // 년수 차이 : 0 년

진수 변환과 Number, Date 객체(표준 내장 객체)

Javascript 진수 변환

  • 10진수에서 n진수로 변환: toString (Number 객체의 내장 함수)
  • n진수에서 10진수로 변환: parseInt (전역 함수)
let decimal = 100;//* 10진수에서 2진수
let binary = decimal.toString(2) // "1100100"
// 2진수에서 10진수
parseInt(binary, 2) // 100
typeof binary // "string"
typeof decimal // "number"

Javascript 날짜/시간 연산

  • 자바 스크립트에는 날짜 데이터 타입이 없음
  • Date 객체와 메소드를 사용하여 날짜와 시간을 처리

(※유닉스 타임 스탬프: 1970 년 1 월 1 일 00:00:00 이후의 초 수)

Date 객체 생성

let date = new Date("2020-10-10")
// OR let date = new Date("Oct 10, 2020")
// Sat Oct 10 2020 09:00:00 GMT+0900 (대한민국 표준시)

Date 객체에서 날짜/ 시간 가져오기

☞ 월 표시는 0(Jan) ~ 11(Dec): 실제 월 가져오려면 +1

let date = new Date("2020-10-10 09:20:17")date.getFullYear()       // 2020
date.getMonth() + 1 // 10
date.getDate() // 10
dates.getHours() // 9
dates.getMinutes() // 20
dates.getSeconds() // 17

Date 객체에서 날짜/ 시간 설정

☞ 월 표시는 0(Jan) ~ 11(Dec): 설정할 때 실제 월 -1

let date = new Date("2020-10-10 09:20:17")date.setFullYear(2021)    // date: Sun Oct 10 2021 09:20:17 GMT+0900
date.setMonth(11) // date: Fri Dec 10 2021 09:20:17 GMT+0900
date.setDate(15) // date: Wed Dec 15 2021 09:20:17 GMT+0900
date.setHours(21) // date: Wed Dec 15 2021 21:20:17 GMT+0900
date.setMinutes(50) // date: Wed Dec 15 2021 21:50:17 GMT+0900
date.setSeconds(45) // date: Wed Dec 15 2021 21:51:45 GMT+0900

Date 객체에서 날짜/ 시간 연산

let date = new Date("2020-10-10 09:20:17")/* 1) 20일 이후  */
date.setDate(date.getDate() + 20)
// date: Fri Oct 30 2020 09:20:17 GMT+0900
--------------------------------------------------------------------/* 2) 30분 이후 */date.setMinutes(date.getMinutes() + 30)
// date: Sat Oct 10 2020 09:50:17 GMT+0900
--------------------------------------------------------------------/* 3-1) 날짜 간 차이: 연도 */
let now = new Date() // 현재 날짜: Sat Oct 10 2020
let then = new Date("1990-01-20") // 기준 날짜: Sat Jan 20 1990
let diff = now.getFullYear() - then.getFullYear()// diff: 30 /* 3-2) 시간의 차이: 분 */
let now = new Date() // 현재 시간: 13:30:00
let then = new Date("2020-10-10 09:00:00") // 기준 시간: 09:00:00
let diff = now.getMinutes() - then.getMinutes()// diff: 30