Date 객체 생성
생성자
- new Date(): 현재 날짜와 시간을 생성
- new Date(value): 밀리초로 표현된 시간값(1970-01-01T00:00:00Z 이후의 밀리초)을 기반으로 생성
- new Date(dateString): 문자열(ISO 8601 형식 등)을 기반으로 생성
- new Date(year, monthIndex, day, hour, minute, second, millisecond): 연, 월(0~11), 일 등을 지정해 생성
let now = new Date();
let specificDate = new Date("2024-11-20T10:00:00");
let customDate = new Date(2024, 10, 20, 10, 30);
날짜와 시간 읽기
UTC 기준
- getUTCFullYear(): 연도 (예: 2024)
- getUTCMonth(): 월 (0부터 시작, 0 = 1월)
- getUTCDate(): 날짜 (1~31)
- getUTCDay(): 요일 (0 = 일요일, 1 = 월요일)
- getUTCHours(): 시간 (0~23)
- getUTCMinutes(): 분 (0~59)
- getUTCSeconds(): 초 (0~59)
- getUTCMilliseconds(): 밀리초(0~999)
로컬 기준
- getFullYear(): 연도, 4자리 연도를 반환
- getMonth(): 월, 월(0~11)을 반환
- getDate(): 날짜, 날짜의 일(1~31)을 반환
- getDay(): 요일, 주의 요일(0~6)을 반환
- getHours(): 시간, 시간(0~23)을 반환
- getMinutes(): 분, 분(0~59)을 반환
- getSeconds(): 초, 초(0~59)을 반환
- getMilliseconds(): 밀리초, 밀리초(0~999)을 반환
날짜와 시간 설정
UTC 기준
- setUTCFullYear(year, month, date)
- setUTCMonth(month, date)
- setUTCDate(date)
- setUTCHours(hours, minutes, seconds, ms)
- setUTCMinutes(minutes, seconds, ms)
- setUTCSeconds(seconds, ms)
- setUTCMilliseconds(ms)
로컬 기준
- setFullYear(year, month, date)
- setMonth(month, date)
- setDate(date)
- setHours(hours, minutes, seconds, ms)
- setMinutes(minutes, seconds, ms)
- setSeconds(seconds, ms)
- setMilliseconds(ms)
유용한 메소드
- getTime(): 1970년 1월 1일 이후의 밀리초 수.
- setTime(milliseconds): 밀리초 단위로 시간 설정.
- toISOString(): ISO 8601 문자열로 반환.
- toLocaleDateString(locale, options): 지역화된 날짜 문자열 반환.
- toLocaleTimeString(locale, options): 지역화된 시간 문자열 반환.
- toLocaleString(locale, options): 지역화된 날짜와 시간 문자열 반환.
- toDateString(): 간단한 날짜 문자열 반환 (예: "Wed Nov 20 2024").
- toTimeString(): 간단한 시간 문자열 반환 (예: "10:30:00 GMT+0000").
날짜 간 계산
let date1 = new Date("2024-11-20");
let date2 = new Date("2024-11-25");
let diff = date2 - date1; // 차이 (밀리초)
console.log(diff / (1000 * 60 * 60 * 24)); // 일 수 계산
- valueOf() 또는 getTime()을 사용하여 두 날짜 간의 차이를 밀리초로 계산 가능