JavaScript - 현재 날짜, 시간 가져오기

자바스크립트에서 현재 날짜, 시간을 가져오는 방법을 소개합니다. 년, 월, 일 뿐만 아니라 시간 분, 초 등을 가져올 수 있습니다. 또한 UTC 또는 Local time 기준으로 날짜, 시간 정보를 가져올 수 있습니다.

1. Date 객체 생성 및 날짜/시간 정보 출력

Date 객체를 생성하면 현재 날짜, 시간 정보를 갖고 있습니다. 기본적으로 toString()은 System에 설정된 지역의 시간을 출력합니다. 만약 UTC 시간으로 출력하고 싶다면 toUTCString()으로 문자열을 출력하시면 됩니다.

const date = new Date();

console.log('Date.toString(): ' + date.toString());
console.log('Date.toUTCString(): ' + date.toUTCString());

Output:

Date.toString(): Sat Apr 02 2022 09:58:09 GMT+0900 (Korean Standard Time)
Date.toUTCString(): Sat, 02 Apr 2022 00:58:09 GMT

1.1 Locale String

기본적으로 toString()은 영어로 출력되는데, 어떤 국가/언어에서 사용하는 형식으로 출력하고 싶을 때는 toLocaleString(Locale)으로 문자열을 출력하시면 됩니다.

const date = new Date();
console.log('locale string: ' + date.toLocaleString());
console.log('locale string(ko-kr): ' + date.toLocaleString('ko-kr'));
console.log('locale string(en-us): ' + date.toLocaleString('en-us'));

Output:

locale string: 4/2/2022, 10:02:54 AM
locale string(ko-kr): 2022. 4. 2. 오전 10:02:54
locale string(en-us): 4/2/2022, 10:02:54 AM

2. 년, 월, 일 정보 가져오기

다음과 같이 Date에서 년, 월, 일 정보를 가져올 수 있습니다. 주의할 점은 getMonth()0 ~ 11 범위의 값으로 리턴하는데, 0이 1월이고, 11이 12월을 의미합니다. 따라서, 월을 숫자로 표현하려면 리턴 값에 1을 더해줘야 합니다.

const date = new Date();

const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();

console.log('date: ' + date.toLocaleDateString('ko-kr'));
console.log('year: ' + year);
console.log('month: ' + month);
console.log('day: ' + day);

Output:

date: 2022. 4. 2.
year: 2022
month: 4
day: 2

UTC 시간 기준으로 년, 월, 일 정보를 가져오려면 아래와 같은 함수를 사용해야 합니다.

const date = new Date();
const year = date.getUTCFullYear();
const month = date.getUTCMonth() + 1;
const day = date.getUTCDate();

3. 시간, 분, 초 정보 가져오기

Date에서 다음과 같이 시간, 분, 초, millisecond 정보를 가져올 수 있습니다.

const date = new Date();

const hours = date.getHours();
const minutes = date.getMinutes();
const seconds = date.getSeconds();
const milliseconds = date.getMilliseconds();

console.log('time: ' + date.toLocaleTimeString('ko-kr'));
console.log('hours: ' + hours);
console.log('minutes: ' + minutes);
console.log('seconds: ' + seconds);
console.log('milliseconds: ' + milliseconds);

Output:

time: 오전 10:10:15
hours: 10
minutes: 10
seconds: 15
milliseconds: 760

UTC 시간 기반의 시, 분, 초 정보를 가져오려면, 아래와 같은 함수를 사용하여 가져오면 됩니다.

const date = new Date();
const hours = date.getUTCHours();
const minutes = date.getUTCMinutes();
const seconds = date.getUTCSeconds();
const milliseconds = date.getUTCMilliseconds();

4. "2022-04-02"와 같은 날짜 포맷으로 변경

아래와 같이, Date에서 날짜 정보를 추출하여, "2022-04-02"와 같은 날짜 포맷으로 문자열을 만들 수 있습니다.

const date = new Date();

const year = date.getFullYear();
const month = ('0' + (date.getMonth() + 1)).slice(-2);
const day = ('0' + date.getDate()).slice(-2);
const dateStr = year + '-' + month + '-' + day;

console.log(dateStr);

Output:

2022-04-02

5. "10:13:32"와 같은 시간 포맷으로 변경

아래와 같이, Date에서 시간 정보를 추출하여, "10:13:32"와 같은 시간 포맷으로 문자열을 만들 수 있습니다.

const date = new Date();

const hours = ('0' + date.getHours()).slice(-2);
const minutes = ('0' + date.getMinutes()).slice(-2);
const seconds = ('0' + date.getSeconds()).slice(-2);
const timeStr = hours + ':' + minutes + ':' + seconds;

console.log(timeStr);

Output:

10:13:32
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha