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부터 시작)는 꼭 주의하세요. 😊

반응형