본문 바로가기
Frontend/JavaScript

JavaScript: Date 객체에 대해서

by 코딩쥐 2024. 7. 31.

Data 객체는 1970년 1월 1일 UTC(협정 세계시) 자정과의 시간 차이를 밀리초로 나타내는 정수 값을 담고있다. Date 객체를 활용하면 현재 날짜를 출력 및 현재까지의 시간 측정 등의 여러가지로 활용할 수 있다.

  • new Date()
    새로운 Date 객체를 만들어서 인스메서드를 사용할 수 있다.
날짜 정보를 가져오는 함수 설명 날짜 정보를 수정하는 함수
getFullYear() 연도 정보 setFullYear()
getMonth() 월 정보 setMonth()
getDate() 일 정보 setDate()
getDay() 요일 정보(일:0~토:6)  
getHours() 시 정보 setHours()
getMinutes() 분 정보 setMinutes()
getSeconds() 초 정보 setSeconds()
getMillisecond() 밀리초 정보 setMilliseconds()
getTime() 1970년 1월 1일부터 경과시간 setTime()
문자열로 변환하는 함수  (현재 시간 : 2024년 8월 25일 오후 2시 46분)
toString() Sun Aug 25 2024 14:46:41 GMT+0900 (한국 표준시)
toDateString() Sun Aug 25 2024
toLocaleString() 2024. 8. 25. 오후 2:46:41
toLocaleDateString() 2024. 8. 25.

 

아래 예제는 현재 시간(2024년 8월 25일)부터 2024년 12월 25일 00:00까지 얼마나 남았는지를 계산해서 보여준다.

See the Pen 남은시간 by coding-ji (@coding-ji) on CodePen.

아래 내용은 위의 예제의 일, 시, 분, 초로 변경한 부분의 script만을 작성해놓은 것이다.

<script>
//현재 시간을 지정
let today = new Date();
// D-day를 지정
let dday = new Date("2024-12-25 00:00:00");
// D-day와 현재시간의 차이를 계산 (밀리초)
let duetime = dday.getTime() - today.getTime();

// 밀리초를 일, 시, 분, 초로 변경
let days = parseInt(duetime / (24 * 60 * 60 * 1000)) //24(하루의 시간), 60(시간의 분), 60(분의 초), 1000(밀리초)
let hours = parseInt(duetime % (24 * 60 * 60 * 1000) / (60 * 60 * 1000)) //days를 구하고 남은 시간을 60(분), 60(초), 1000(밀리초)로 나눔
let minutes = parseInt(duetime % (60 * 60 * 1000) / (60 * 1000)) //hours를 구하고 남은 시간을 60(초), 1000(밀리초)로 나눔 
let seconds = parseInt(duetime % (60 * 1000) / 1000) //minutes를 구하고 남은 시간을 1000(밀리초)로 나눔
</script>