getTime() 메서드를 사용해 날짜 계산하기

김응수·2022년 7월 31일
0

날짜와 시간 정보를 사용하기 위해 Date 객체를 만든 후 객체에 정의 된 메서드를 사용할 수 있다. Date 객체의 메서드는 크게 3가지로 구분되는데 날짜/시간 정보를 가져오는 메서드, 사용자가 원하는 날짜/시간으로 설정하는 메서드, 마지막으로 날짜/시간형식을 바꿔주는 메서드가 있다.

구분 설명
날짜, 시간 가져오기 getFullYear() 연도를 4자리 숫자로 표시
getMonth() 0~11사이의 숫자로 월을 표시(0=1월,11=12월)
getDate() 1~31사이의 숫자로 일을 표시
getDay() 0~6사이의 숫자로 요일을 표시(0=일, 6=토)
getTime() 1970년 1월 1일 자정 이후의 시간을 밀리 초로 표시
getHours() 0~23 사이의 숫자를 시로 표시
getMinutes() 0~59 사이의 숫자를 분으로 표시
getSeconds() 0~59 사이의 숫자를 초로 표시
getMilliseconds() 0~999 사이의 숫자를 밀리 초로 표시
날짜,시간 설정하기 setFullYear() 연도를 4자리 숫자로 설정
setMonth() 0~11사이의 숫자로 월을 설정
setDate() 1~31사이의 숫자로 일을 설정
setTime() 1970년 1월 1일 자정 이후의 시간을 밀리초로 설정
setHours() 0~23사이의 숫자로 시를 설정
setMinutes() 0~59사이의 숫자로 분을 설정
setSeconds() 0~59사이의 숫자로 초를 설정
setMilliseconds() 0~999사이의 숫자로 밀리초를 설정
날짜,시간형식 바꾸기 toLocaleString() 현재 날짜와 시간을 현지시간으로 표시
toString() Date 객체타입을 문자열로 표시

Date 객체의 getTime() 메서드를 사용하여 날짜를 계산하려는 예제를 만들고자한다. wecode 37기 사전스터디가 시작된 22년 7월 10일을 기점으로 현재까지 몇일이 지났는지를 표현하고자 한다.

이러한 경우 현재의 getTime()에서 22년 7월 10일의 getTime()값을 빼주면 쉽게 몇일이 지났는지 알 수 있을 것이다.

또한 getTime() 메서드를 실행한 결괏값은 밀리초 단위로 표시되므로
이것을 일수로 나타내려면
'1000(초) x 60(분) x 60(시) x 24(일)' 값으로 나눠주어야 한다.

var now = new Date();       // 오늘 날짜를 객체로 지정
var firstDay = new Date("2022-7-10");   // 시작 날짜를 객체로 지정

var toNow = now.getTime();         // 오늘까지 지난 시간(밀리 초)
var toFirst = firstDay.getTime();  // 첫날까지 지난 시간(밀리 초) 
var passedTime = toNow - toFirst;  // 첫날부터 오늘까지 지난 시간(밀리 초)

passedTime = Math.round(passedTime/(1000*60*60*24));  // 밀리 초를 일 수로 계산하고 반올림

document.querySelector('#result').innerText = passedTime;

0개의 댓글