티스토리 뷰

 

자바스크립트 Date() 객체 사용법

안녕하세요~

이번에 javascript를 사용하여 Date 객체에 대해 자세히 다룰 일이 있었어요.

그래서 경험했던 것을 기록하고 나누고자 이번 포스팅 시작하였습니다.

Date() 객체와 관련 함수들은 앞으로도 정말 많이 사용할 거 같아요.

 

목차:

1. Date() 객체 생성하기

2. Date.now()

3. getTime()

4. setTime()

5. toLocaleString()

 

 

Date 객체 생성하기

Date()를 사용하는 방법을 다음과 같습니다. 생성자 안에 넣은 인자의 성질과 개수에 따라 반환하는 것이 다릅니다.

  • Date()

  • Date(milliseconds)

  • Date(datastring)

  • Date(year, month, date, hours, minutes, seconds, ms)

 

 

 

1. Date()

 

date 객체를 생성하기 위해서는 Date 생성자 앞에 꼭 new를 붙여서 사용하셔야 합니다. 실수로 빼먹고 사용하시는 분들이 있으시더라고요.

 

인자 없이 Date 객체를 사용하신다면 실행하는 순간의 컴퓨터/서버의 현재 시간을 반환합니다.

 

ex)

var now = new Date();

 

return result:

대한민국 표준시를 따르는 컴퓨터의 현재시간이 반환되었습니다.

 

Date() - 파라미터 없음

 

 

2. Date(milliseconds)

UTC 기준(UTC+0) 1970년 1월 1일 0시 0분 0초에서 milliseconds 밀리초(1/1000 초) 후의 시점이 저장된 Date 객체가 반환됩니다. 또한 1970년의 첫날을 기준으로 흘러간 밀리초를 나타내는 정수를 타임스탬프(timestamp)라고 부릅니다.

 

ex)

var milliseconds = new Date(0);

 

return result:

파라미터에 0을 넣어 1970년 1월 1일 09:00(GMT+9)을 확인할 수 있었습니다.

Date(0) - 파라미터가 숫자

 

 

3. Date(datastring)

파라미터에 문자열을 넣는다면, 해당 문자열을 자동으로 파싱하여 date 객체로 생성합니다.

 

ex 1)

var date = new Date("2022-12-25");

 

return result:

년/월/일만 입력하였으므로 GMT +9 기준 09:00시를 반환하였습니다. GMT +0 이면 00:00으로 초기화됩니다.

Date("2022-12-25") - 파라미터가 형식 있는 문자열

ex 2)

var date = new Date("2022-12-25" + ":" + "10:00:00.000");

return result:

Date("2022-12-25" + ":" + "10:00:00.000") - 파라미터가 형식 있는 문자열

 

 

4. Date(year, month, date, hours, minutes, seconds, ms)

주어진 인수를 조합해 만들 수 있는 날짜가 저장된 객체가 반환됩니다(지역 시간대 기준). 첫 번째두 번째 인수만 필수 값입니다. 각 인자들에 대해 다시 설명드리도록 하겠습니다. 문자열로 입력하지 마시고 숫자만 입력해주세요.

 

  • year: 2020과 같이 네 자리 숫자만 들어가야 합니다.

  • month: 0(1월) ~ 11(12월) 사이의 숫자여야 합니다. 1월을 0부터 시작한다는 점 주의해주세요.

  • date: 1에서 31까지의 값입니다. 없으면 1일을 반환합니다.

  • hours/minutes/seconds/ms: 지정하지 않으면 0으로 설정됩니다.

 

ex)

var date = new Date(2020, 11, 13, 17, 30, 0, 0);

 

return result:

Date(2020, 11, 13, 17, 30, 0, 0) => 2020년 12월 13일 17:30:00.000

Date(2020, 11, 13, 17, 30, 0, 0) - 파라미터가 형식 있는 문자열

 

 

2. Date.now()

Date.now()는 1970년 1월 1일 0시 0분 0초(GMT +0)부터 현재까지 경과된 밀리초를 반환합니다. now는 정적 메서드라서 new를 붙이지 않고 사용합니다. 주의하세요!

 

ex)

var timeInMs = Date.now();

return result:

Date.now() -> 밀리초로 반환

 

 

 

3. getTime()

로컬 시간의 전체 시간 값을 밀리초 값으로 나타내어 반환합니다.

 

ex)

var now = new Date().getTime();

 

return result:

Date().getTime() -> 밀리초 값으로 반환

 

 

 

4. setTime()

setTime()의 들어가는 파라미터는 1970 년 1 월 1 일 00:00:00 UTC 이후의 밀리 초 수를 나타내는 정수입니다. setTime() 함수를 사용하면 다른 Date 객체에 날짜와 시간을 지정할 수 있습니다.

 

ex)

var chrismas = new Date('Dec 25 2020');
var today = new Date();
today.setTime(chrismas.getTime());

 

return result:

setTime(16520343) - 파라미터로 입력한 밀리 초로 변경

 

 

 

5.toLocaleString()

toLocaleString() 메서드는 날짜의 언어 구분 표현이 있는 문자열을 반환합니다.
새로운 로케일 및 옵션 인수를 사용하면 응용 프로그램에서 형식 지정 규칙을 사용해야 하는 언어를 지정하고, 함수의 동작을 사용자 지정할 수 있습니다.

const event = new Date(Date.UTC(2020, 11, 25, 10, 10, 0));

// 'en-US'기준으로 표시
console.log(event.toLocaleString('en-US', { timeZone: 'UTC' }));

// 기본 설정으로 표시
console.log(event.toLocaleString({ timeZone: 'UTC' }));

 

return result:

toLocaleString()의 결과

 

Date() 객체와 관련된 함수들은 정말 많습니다.

우선 대표적으로 많이 쓰이는 함수들을 알려드렸는데요. 다른 함수들도 궁금하시면 아래의 링크를 참고하셔서 사용하시면 됩니다. 감사합니다~

 

Date

JavaScript Date objects represent a single moment in time in a platform-independent format.

developer.mozilla.org

 

반응형