🍁날짜/시간 함수
- Date 객체
자바스크립트에는 클래스가 없다고 했다.
하지만 내장 객체를 제공하므로, 이를 이용하여 객체를 생성한다.
현재 시각
var now = new Date(); //new 생성자함수();
console.log(now);
console.log(typeof now); //object
console.log(now)는 사실 객체가 가지고 있는 now.toString()이 출력된 것이다.
즉, 덤프 된 데이터(Thu Oct 05 2023 10:13:47 GMT+0900 (한국 표준시))가 출력된다.
이 요소를 추출해서 사용하기 좋게 바꿔보도록 하자.
요소 추출
날짜/시간 요소를 추출하는 전용 함수가 존재한다.
console.log(now.getYear());
console.log(now.getFullYear());
console.log(now.getMonth());
console.log(now.getDate());
console.log(now.getDay());
console.log(now.getHours());
console.log(now.getMinutes());
console.log(now.getSeconds());
console.log(now.getMilliseconds());
console.log(now.getTime());
getYear 함수는 2000년대 이전에 사용하던 함수이며, 지금은 연도를 받을 때 getFullYear 함수를 사용한다.
getDay 함수는 요일을 받아오는 함수로, 일요일이 0이고 토요일이 6으로 끝난다.
출력
console.log(now.toString());
console.log(now.toLocaleString());
console.log(now.toLocaleDateString());
console.log(now.toLocaleTimeString());
특정 시각 만들기
var christmas = new Date();
christmas.setFullYear(2023);
christmas.setMonth(11);
christmas.setDate(25);
christmas.setHours(12);
christmas.setMinutes(0);
christmas.setSeconds(0);
console.log(christmas.toLocaleString());
var birthday = new Date(1995, 10, 10, 12, 30, 0);
console.log(birthday.toLocaleString());
생성자 함수는 인자값을 가질 수 있으므로 set함수로 하나씩 지정하지 않고 한 번에 값을 넣을 수 있다.
연산
시각 - 시각
console.log(christmas - now);
console.log((christmas - now) / 1000 / 60 / 60 / 24);
크리스마스가 지금으로부터 얼마나 남았는지 연산하는 코드이다.
10월 2일 만난 커플의 100일 기념일은?
var aniversary = new Date(2023, 10, 2, 21, 30, 0);
aniversary.setTime(now.getTime() + (100 * 24 * 60 * 60 * 1000)); //100일 뒤
console.log(aniversary.toLocaleString());
2023년 10월 2일에 만난 커플의 100일 기념일은 2024년 1월 13일이다.
자바의 날짜시간 자료형이 궁금하지 않은가? 한번 보고 가자.