JavaScript의 Date() 함수는 날짜와 시간을 다룰 수 있는 강력한 도구입니다. 이 함수는 현재 날짜와 시간을 가져오거나, 특정 날짜와 시간을 설정하고, 이를 다양한 형식으로 조작할 수 있게 해줍니다. 날짜 및 시간을 처리할 때, 자주 사용되는 함수 중 하나입니다.
Date() 함수란?
Date()는 JavaScript에서 기본적으로 제공하는 내장 객체로, 날짜와 시간을 나타냅니다. 이 객체는 현재 날짜와 시간을 가져오거나, 특정한 날짜와 시간을 계산하는 데 사용할 수 있습니다. 주로 시스템의 시간 정보를 기반으로 하기 때문에, 현재 시간을 기준으로 동작합니다.
기본 사용법
let now = new Date();
console.log(now);
이 코드는 현재의 날짜와 시간을 Date 객체로 반환합니다. 출력 결과는 보통 아래와 같은 형식입니다:
Wed Oct 23 2024 12:34:56 GMT+0900 (Korean Standard Time)
이처럼 Date() 객체를 생성하면 브라우저의 현재 날짜와 시간을 포함한 객체가 생성됩니다.
Date() 생성자의 다양한 사용법
1. 특정 날짜와 시간 설정
Date() 생성자에 인자를 넘겨 특정 날짜와 시간을 설정할 수 있습니다.
let specificDate = new Date(2024, 9, 23); // 2024년 10월 23일 (월은 0부터 시작하므로 9는 10월)
console.log(specificDate);
위 예시에서는 2024년 10월 23일이 설정된 Date 객체가 생성됩니다. 여기서 주의할 점은 **월(Month)**이 0부터 시작한다는 것입니다. 따라서 9는 10월을 의미합니다.
2. 년, 월, 일, 시간 등을 직접 지정
날짜와 시간을 더 세밀하게 설정할 수도 있습니다.
let detailedDate = new Date(2024, 9, 23, 14, 30, 0); // 2024년 10월 23일 14시 30분 00초
console.log(detailedDate);
위 코드는 2024년 10월 23일 14시 30분에 해당하는 날짜 객체를 생성합니다. 각각의 매개변수는 순서대로 연도, 월, 일, 시간, 분, 초를 나타냅니다.
Date() 메서드를 이용한 날짜와 시간 추출
Date 객체에서 날짜와 시간을 추출할 수 있는 여러 메서드가 제공됩니다.
1. getFullYear()
해당 날짜의 연도를 반환합니다.
let year = now.getFullYear();
console.log(year); // 예: 2024
2. getMonth()
해당 날짜의 월을 반환합니다. (0부터 시작)
let month = now.getMonth();
console.log(month); // 예: 9 (10월을 의미)
3. getDate()
해당 날짜의 **일(day)**을 반환합니다.
let day = now.getDate();
console.log(day); // 예: 23
4. getHours(), getMinutes(), getSeconds()
각각 해당 날짜의 시간, 분, 초를 반환합니다.
let hours = now.getHours();
let minutes = now.getMinutes();
let seconds = now.getSeconds();
console.log(hours + ':' + minutes + ':' + seconds); // 예: 12:34:56
5. getDay()
해당 날짜의 요일을 반환합니다. 반환값은 **0(일요일)**부터 **6(토요일)**까지의 숫자입니다.
let dayOfWeek = now.getDay();
console.log(dayOfWeek); // 예: 3 (수요일)
날짜와 시간 비교하기
두 Date 객체를 비교하여 어느 쪽이 더 이른지, 늦은지 판단할 수 있습니다. 이는 getTime() 메서드를 사용하여 밀리초 단위의 타임스탬프를 비교함으로써 가능합니다.
let date1 = new Date(2024, 9, 23);
let date2 = new Date(2025, 9, 23);
if (date1.getTime() < date2.getTime()) {
console.log("date1이 date2보다 이전입니다.");
} else {
console.log("date1이 date2보다 이후입니다.");
}
이 예제에서는 두 날짜를 비교하여 date1이 date2보다 이전인지 확인합니다.
Date() 함수의 실용적인 예제
1. 타이머 만들기
Date 객체를 사용하여 간단한 타이머를 구현할 수 있습니다.
let startTime = new Date();
setTimeout(function() {
let endTime = new Date();
let timeDiff = endTime - startTime; // 밀리초 단위로 시간 차이 계산
console.log("경과 시간: " + timeDiff + "ms");
}, 2000); // 2초 후 실행
위 코드는 setTimeout을 사용해 2초 후에 경과 시간을 밀리초 단위로 출력하는 타이머입니다.
2. 날짜 포맷팅
JavaScript 기본 제공 메서드를 사용해 날짜를 특정 형식으로 출력할 수 있습니다.
let today = new Date();
let formattedDate = today.getFullYear() + '-'
+ (today.getMonth() + 1) + '-'
+ today.getDate();
console.log("오늘의 날짜: " + formattedDate); // 예: 2024-10-23
이 코드는 날짜를 YYYY-MM-DD 형식으로 변환하는 예시입니다. 월은 0부터 시작하므로 getMonth() 값에 1을 더해줘야 합니다.
JavaScript의 Date() 함수는 날짜와 시간을 다루는 다양한 기능을 제공합니다. 기본적으로 현재 시간을 가져오는 것부터, 특정 날짜를 설정하고 비교하는 작업까지 쉽게 수행할 수 있습니다.
'Develop' 카테고리의 다른 글
[JavaScript] 현재 날짜 구하기, 특정 날짜 생성, 날짜 포맷 변경, 날짜 계산 (4) | 2024.10.30 |
---|---|
Content Security Policy (CSP)란? 간단설명과 사용방법 (8) | 2024.10.29 |
[jQuery] event preventDefault 설명과 사용방법 예제 (5) | 2024.10.23 |
[Thymeleaf] 조건문 switch-case 문법 사용방법 (8) | 2024.10.22 |
[PostgreSQL] 숫자를 금액단위 3자리마다 콤마로 변환하는 방법 (8) | 2024.10.22 |