반응형
연관글
자바스크립트에서 날짜와 시간을 다루기 위해 가장 기본적으로 사용하는 객체는 Date입니다. 브라우저 내장 객체로 별도의 설치 없이 사용할 수 있으며, 시간 생성, 포맷 추출, 시간 연산 등 다양한 기능을 제공합니다. 이 글에서는 Date 객체의 기본 사용법부터 유용한 예제, 그리고 실무에서 활용할 수 있는 심화 팁까지 정리해보겠습니다.
✅ Date 객체 생성 방법
const now = new Date(); // 현재 시간
const specific = new Date("2024-04-01T12:00:00"); // 지정된 시간
const fromValues = new Date(2024, 3, 1, 12, 0, 0); // (연, 월, 일, 시, 분, 초)
- 월(Month)은 0부터 시작하므로 3은 4월을 의미합니다.
📌 주요 메서드 소개
const date = new Date("2024-04-01T12:34:56");
console.log(date.getFullYear()); // 2024
console.log(date.getMonth()); // 3 (4월)
console.log(date.getDate()); // 1
console.log(date.getDay()); // 1 (월요일)
console.log(date.getHours()); // 12
console.log(date.getMinutes()); // 34
console.log(date.getSeconds()); // 56
🧪 날짜 포맷팅 (기본 제공 메서드)
const now = new Date();
console.log(now.toISOString()); // ISO 8601 포맷: "2024-04-01T03:21:00.000Z"
console.log(now.toDateString()); // "Mon Apr 01 2024"
console.log(now.toLocaleDateString("ko-KR")); // "2024. 4. 1."
⏳ 시간 간 계산
const start = new Date("2024-01-01");
const end = new Date("2024-04-01");
const diffMs = end - start; // 밀리초 차이
const diffDays = diffMs / (1000 * 60 * 60 * 24);
console.log(diffDays); // 91
- 단순한 날짜 차이는 직접 계산이 가능하지만, 시간대 고려 시 주의 필요
🔄 날짜 조작 (직접 연산)
const date = new Date();
date.setDate(date.getDate() + 7); // 7일 후로 이동
console.log(date);
- setDate, setMonth, setFullYear 등으로 직접 변경 가능
⚠️ 주의할 점
- Date는 타임존 처리에 한계가 있으며, 복잡한 포맷 지정도 불편
- 브라우저별 동작 차이가 존재할 수 있으므로, 국제화가 필요한 경우 라이브러리 사용 권장 (dayjs, date-fns 등)
✅ 결론
자바스크립트의 Date 객체는 범용적으로 활용 가능하며, 간단한 날짜 계산이나 포맷 변경에는 매우 유용합니다. 하지만 복잡한 요구사항이 있는 경우에는 외부 라이브러리를 함께 사용하는 것이 좋습니다.
반응형
'Programing > javascript' 카테고리의 다른 글
| 자바스크립트 실무 유틸 함수 시리즈 (0) | 2025.04.29 |
|---|---|
| DOM 조작 vs Virtual DOM (React 비교 포함) 정리 (0) | 2025.04.29 |
| JSON.stringify vs JSON.parse 제대로 이해하기 (0) | 2025.04.29 |
| fetch로 REST API 호출하기: 기본 사용법, 응답 처리, 에러 처리까지 (0) | 2025.04.29 |
| moment.js 소개, 사용법, 그리고 심화 이해 (0) | 2025.04.24 |
| 자바스크립트 날짜 다루기: Date vs dayjs vs date-fns (0) | 2025.04.24 |
| 브라우저 저장소 정리: localStorage vs sessionStorage vs cookie (0) | 2025.04.24 |
| 자바스크립트 이벤트 위임(Event Delegation)과 성능 최적화 (0) | 2025.04.24 |