[Javascript] Date 내장 객체

주영·2025년 1월 27일
0

Javascript

목록 보기
2/15

* 코드잇 프리코스를 들으며 작성하였습니다

선언 방법

new 키워드를 이용하여 변수에 할당한다.

괄호 안에 아무것도 넣지 않았을 경우 현재 시간이 들어간다.

let d = new Date(); 
//Sun Jan 26 2025 21:09:54 GMT+0900 (한국 표준시)
//해당 결과값은 예시다.

문자열 혹은 숫자를 이용하여 초기값을 할당할 수도 있다.

  • 문자열일 경우 YYYY-MM-DDThh:mm:ss양식을 지켜 넣으면 된다. (YYYY, YYYY-MM,YYYY-MM-DD,YYYY-MM-DDThh:mm 등의 설정도 가능하다.)
  • 다른 양식으로도 가능하다. 더욱 자세히 알고 싶다면 공식 문서를 참고하라.
  • 시간 기본값은 사용하는 환경에 따라 달라질 수 있으니 예시로만 보라.
let d = new Date("2025");
console.log(d);
//Wed Jan 01 2025 09:00:00 GMT+0900 (한국 표준시)

d = new Date("2025-12");
console.log(d);
//Mon Dec 01 2025 09:00:00 GMT+0900 (한국 표준시)

d = new Date("2025-12-25");
console.log(d);
//Thu Dec 25 2025 09:00:00 GMT+0900 (한국 표준시)

d = new Date("2025-12-25T01:02");
console.log(d);
//Thu Dec 25 2025 01:02:00 GMT+0900 (한국 표준시)

d = new Date("2025-12-25T01:02:03");
console.log(d);
//Thu Dec 25 2025 01:02:03 GMT+0900 (한국 표준시)
  • 숫자일 경우 괄호 안에 연, 월, 일, 시간, 분, 밀리초 순으로 정수형으로 적으면 된다.
  • 숫자를 하나만 넣을 경우 1970년 1월 1일 자정(UTC)에서 숫자(millisecond)만큼 지난 시간을 반환한다.
  • 따라서 기본적으로 연, 월 까지는 적어줘야 한다.
  • 은 0부터 11까지기 때문에 만일 3을 넣는다면 4월이 들어가니 유의하자.
let d = new Date(2025);
console.log(d);
//Thu Jan 01 1970 09:00:02 GMT+0900 (한국 표준시)

d = new Date(2025,12);
console.log(d);
//Thu Jan 01 2026 00:00:00 GMT+0900 (한국 표준시)

d = new Date(2025,12,25);
console.log(d);
//Sun Jan 25 2026 00:00:00 GMT+0900 (한국 표준시)

d = new Date(2025,12,25,1);
console.log(d);
//Sun Jan 25 2026 01:00:00 GMT+0900 (한국 표준시)

d = new Date(2025,12,25,1,2);
console.log(d);
//Sun Jan 25 2026 01:02:00 GMT+0900 (한국 표준시)

d = new Date(2025,12,25,1,2,3);
console.log(d);
//Sun Jan 25 2026 01:02:03 GMT+0900 (한국 표준시)

d = new Date(2025,12,25,1,2,3,2025);
console.log(d);
//Sun Jan 25 2026 01:02:05 GMT+0900 (한국 표준시)

메소드

일부만 기록하였다.

getTime()

1970년 1월 1일 자정(UTC)에서 몇 millisecond만큼 지났는지 반환한다.

  • 이렇게 반환된 정수값을 타임스탬프(time stamp)라고 부른다.

getFullYear()

연도를 반환한다.

let d = new Date(2025,4);
console.log(d.getFullYear()); //2025

getMonth()

월(달)을 반환한다.

  • 은 0부터 11까지기 때문에 만일 5월이라면 4를 반환한다.

getDate()

날짜를 반환한다.

getDay()

요일을 반환한다.

  • 일월화수목금토 순으로 0부터 6까지기 때문에 금요일이라면 5를 반환한다.

getHours()

시간(h)를 반환한다.

getMinutes()

분(min)을 반환한다.

getSeconds()

초(s)를 반환한다.

getMilliseconds()

밀리초(ms)를 반환한다.

setTime(milliseconds)

1970년 1월 1일 자정(UTC)에서 milliseconds(ms)만큼 지난 시간으로 설정한다.

setFullYear(year, [month], [date])

연을 year로 변경한다. (월을 month로 변경한다.) (일을 date로 변경한다.)

  • 다른 값은 변경하지 않는다.

setYear(year)

연을 year로 변경한다.

  • 다른 값은 변경하지 않는다.

setMonth(month, [date])

월을 month로 변경한다. (일을 date로 변경한다.)

  • 다른 값은 변경하지 않는다.

setDate(date)

일을 date로 변경한다.

  • 다른 값은 변경하지 않는다.

setHours(hour, [min], [sec], [ms])

시간을 hour로 변경한다. (분을 min로 변경한다.) (초를 sec로 변경한다.) (밀리초를 ms로 변경한다.)

  • 다른 값은 변경하지 않는다.

setMinutes(min, [sec], [ms])

분을 min로 변경한다. (초를 sec로 변경한다.) (밀리초를 ms로 변경한다.)

  • 다른 값은 변경하지 않는다.

setSeconds(sec, [ms])

초를 sec로 변경한다. (밀리초를 ms로 변경한다.)

  • 다른 값은 변경하지 않는다.

setMilliseconds(ms)

밀리초를 ms로 변경한다.

  • 다른 값은 변경하지 않는다.

현재시간 알아내기

위에서 보여준 것처럼 let d = new Date(); 의 방식을 사용할 수도 있지만 Date.now()를 사용할 수도 있다. Date.now()는 현재 시간의 time stamp (위 getTime 문단 참고) 를 반환한다.


형변환

기본적으로 Date는 객체다. 다른 자료형으로 형변환을 하면 어떻게 될까.

Number

해당 Date 객체의 time stamp로 변환한다.

String

해당 Date 객체를 출력할 때 나오는 문자열로 변환한다.

Boolean

항상 true로 변환한다.

profile
힘들어요

0개의 댓글