JavaScript, jQuery
JavaScript Date 객체 완전 정복 – 날짜·시간 처리부터 포맷 변환까지
jonbeo
2025. 8. 24. 09:46
반응형
안녕하세요 😊
웹 개발에서 날짜와 시간을 다루는 일은 정말 많습니다.
게시글 작성일, 이벤트 마감일, 예약 시간 표시 등
다양한 기능에서 JavaScript Date 객체는 필수적으로 사용됩니다.
이번 글에서는 날짜·시간 생성, 포맷 변환, 계산, 국제화 처리까지
Date 객체의 핵심 기능을 정리해보겠습니다.
📍 1. Date 객체 생성하기
// 현재 날짜·시간
const now = new Date();
console.log(now);
// 특정 날짜·시간
const specificDate = new Date("2025-08-11T10:30:00");
console.log(specificDate);
// 연, 월, 일 지정 (월은 0부터 시작 → 0=1월)
const customDate = new Date(2025, 7, 11, 10, 30);
console.log(customDate);
📌 Tip : 월(month) 인덱스 주의 (0~11)
📍 2. 날짜·시간 요소 가져오기
const today = new Date();
console.log(today.getFullYear()); // 연도
console.log(today.getMonth() + 1); // 월 (0부터 시작하므로 +1)
console.log(today.getDate()); // 일
console.log(today.getDay()); // 요일 (0=일요일)
console.log(today.getHours()); // 시
console.log(today.getMinutes()); // 분
console.log(today.getSeconds()); // 초
📍 3. 날짜·시간 설정하기
const date = new Date();
date.setFullYear(2030);
date.setMonth(11); // 12월
date.setDate(25);
console.log(date);
- setHours, setMinutes, setSeconds 등도 동일하게 사용 가능
📍 4. 날짜 계산
const today = new Date();
const tomorrow = new Date(today);
tomorrow.setDate(today.getDate() + 1); // 하루 뒤
console.log(tomorrow);
const diff = tomorrow - today; // 밀리초 차이
console.log(diff / (1000 * 60 * 60 * 24), "일 차이");
📌 Tip : 밀리초(ms) → 초, 분, 시, 일 변환 공식 기억하기
📍 5. 날짜 포맷 변환
const now = new Date();
console.log(now.toISOString()); // 2025-08-11T14:30:00.000Z
console.log(now.toDateString()); // Mon Aug 11 2025
console.log(now.toLocaleDateString("ko-KR")); // 2025. 8. 11.
console.log(now.toLocaleString("en-US")); // 8/11/2025, 2:30:00 PM
- toLocaleDateString / toLocaleTimeString → 지역화된 날짜·시간 표시 가능
📍 6. 국제화 처리
const date = new Date();
const options = { weekday: "long", year: "numeric", month: "long", day: "numeric" };
console.log(date.toLocaleDateString("fr-FR", options)); // lundi 11 août 2025
- 다국어 서비스에서 날짜 포맷을 자동으로 변경 가능
📍 7. 라이브러리 활용 (Moment.js, Day.js)
// Day.js 예시
dayjs().format("YYYY-MM-DD HH:mm:ss");
dayjs().add(7, "day"); // 7일 뒤
📌 Tip : 복잡한 시간대 변환이나 반복 일정은 라이브러리 사용 추천
✅ 마무리
Date 객체만 잘 활용해도
웹 서비스의 날짜·시간 기능을 안정적으로 구현할 수 있습니다.
단, 시간대(Timezone)와 월(month) 인덱스(0부터 시작)는 꼭 주의하세요. 😊
반응형