날짜와 시간 정보를 사용하기 위해 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;