코딩 스쿨 JavaScript

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP
▶ JavaScript Tutorial
JavaScript HOME
JavaScript Introduction
JavaScript Where To
JavaScript Output
JavaScript Statements
JavaScript Syntax
JavaScript Comments
JavaScript Variables
JavaScript Let
JavaScript Const
JavaScript Operators
JavaScript Arithmetic
JavaScript Assignment
JavaScript Data Types
JavaScript Functions
JavaScript Objects
JavaScript Object Properties
JavaScript Object Methods
JavaScript Object Display
JavaScript Object Constructors
JavaScript Events
JavaScript Strings
JavaScript String Methods
JavaScript String Search
JavaScript String Templates
JavaScript Numbers
JavaScript BigInt
JavaScript Number Methods
JavaScript Number Properties
JavaScript Arrays
JavaScript Array Methods
JavaScript Array Search
JavaScript Array Sort
JavaScript Array Iteration
JavaScript Array Const
JavaScript Dates
JavaScript Date Formats
JavaScript Date Get Methods
JavaScript Date Set Methods
JavaScript Math
JavaScript Random
JavaScript Booleans
JavaScript Comparisons
JavaScript If Else
JavaScript Switch
JavaScript Loop For
JavaScript Loop For In
JavaScript Loop For Of
JavaScript Loop While
JavaScript Break
JavaScript Iterables
JavaScript Sets
JavaScript Set Methods
JavaScript Maps
JavaScript Map Methods
JavaScript Typeof
JavaScript Type Conversion
JavaScript Destructuring
JavaScript Bitwise
JavaScript RegExp
JavaScript Precedence
JavaScript Errors
JavaScript Scope
JavaScript Hoisting
JavaScript Strict Mode
JavaScript this Keyword
JavaScript Arrow Function
JavaScript Classes
JavaScript Modules
JavaScript JavaScriptON
JavaScript Debugging
JavaScript Style Guide
JavaScript Best Practices
JavaScript Mistakes
JavaScript Performance
JavaScript Reserved Words

JavaScript Dates

JavaScript Dates: 날짜 및 시간 처리의 이해와 활용

JavaScript에서 **날짜(Date)**는 날짜와 시간을 다루기 위한 데이터 타입입니다. 날짜 객체를 사용하면 현재 시간, 특정 날짜, 시간 차이 계산 등과 같은 다양한 날짜와 관련된 작업을 수행할 수 있습니다. 이 가이드는 JavaScript에서 날짜와 시간을 다루는 방법, 날짜 객체의 생성 및 활용 방법, 그리고 날짜 관련 메서드에 대해 설명합니다.


1. Date 객체 생성

JavaScript의 날짜와 시간을 다루기 위해서는 Date 객체를 생성해야 합니다. Date 객체는 여러 가지 방법으로 생성할 수 있으며, 생성 시점의 현재 날짜와 시간을 나타내거나 특정 날짜를 설정할 수 있습니다.

1.1. 현재 날짜와 시간

new Date()를 호출하면 현재의 날짜와 시간을 나타내는 Date 객체가 생성됩니다.

const now = new Date();
console.log(now); // 현재 날짜와 시간 출력

1.2. 특정 날짜 설정

특정 날짜를 설정하려면 new Date()의 인수로 연도, 월, 일 등을 지정할 수 있습니다.

const specificDate = new Date(2024, 9, 10); // 2024년 10월 10일 (월은 0부터 시작하므로 9는 10월)
console.log(specificDate); // 출력: Thu Oct 10 2024 ...

1.3. 날짜 문자열로 설정

날짜를 문자열로 전달하여 Date 객체를 생성할 수 있습니다.

const dateString = new Date("2024-10-10");
console.log(dateString); // 출력: Thu Oct 10 2024 ...

1.4. 타임스탬프로 생성

1970년 1월 1일 UTC 자정 이후의 밀리초를 인수로 사용하여 날짜를 생성할 수 있습니다.

const timestampDate = new Date(1633072800000);
console.log(timestampDate); // 타임스탬프에 해당하는 날짜 출력


2. 날짜 및 시간 메서드

Date 객체에는 날짜와 시간을 다루기 위한 다양한 메서드가 포함되어 있습니다.

2.1. getFullYear()

해당 날짜의 연도를 반환합니다.

const year = now.getFullYear();
console.log(year); // 출력: 2024

2.2. getMonth()

해당 날짜의 월을 반환합니다. 월은 0부터 시작하므로, 0은 1월, 1은 2월을 나타냅니다.

const month = now.getMonth();
console.log(month); // 출력: 현재 월 (0부터 시작)

2.3. getDate()

해당 날짜의 일을 반환합니다.

const day = now.getDate();
console.log(day); // 출력: 오늘 날짜

2.4. getDay()

해당 날짜의 요일을 반환합니다. 요일은 0부터 6까지 반환되며, 0은 일요일, 1은 월요일을 나타냅니다.

const weekDay = now.getDay();
console.log(weekDay); // 출력: 현재 요일 (0 = 일요일, 1 = 월요일, ...)

2.5. getHours(), getMinutes(), getSeconds(), getMilliseconds()

해당 날짜의 시간을 반환합니다.

const hours = now.getHours(); // 현재 시간
const minutes = now.getMinutes(); // 현재 분
const seconds = now.getSeconds(); // 현재 초
const milliseconds = now.getMilliseconds(); // 현재 밀리초

console.log(`${hours}:${minutes}:${seconds}.${milliseconds}`); // 예시 출력: 14:30:45.123


3. 날짜 및 시간 설정

Date 객체의 날짜와 시간을 설정할 때도 다양한 메서드를 사용할 수 있습니다.

3.1. setFullYear()

날짜의 연도를 설정합니다.

const date = new Date();
date.setFullYear(2025);
console.log(date); // 출력: 연도가 2025로 설정된 날짜

3.2. setMonth()

날짜의 월을 설정합니다. 0부터 시작하는 인덱스를 사용합니다.

date.setMonth(11); // 12월 설정 (0 = 1월)
console.log(date);

3.3. setDate()

날짜를 설정합니다.

date.setDate(15); // 15일로 설정
console.log(date);

3.4. setHours(), setMinutes(), setSeconds(), setMilliseconds()

시간, 분, 초, 밀리초를 각각 설정할 수 있습니다.

date.setHours(10);
date.setMinutes(30);
date.setSeconds(15);
date.setMilliseconds(500);
console.log(date); // 10:30:15.500로 시간 설정된 날짜 출력


4. 날짜와 시간의 비교

4.1. getTime()

getTime() 메서드는 1970년 1월 1일 자정 이후의 밀리초를 반환합니다. 이를 통해 날짜를 숫자로 비교할 수 있습니다.

const earlierDate = new Date("2024-01-01");
const laterDate = new Date("2024-12-31");

if (laterDate.getTime() > earlierDate.getTime()) {
    console.log("laterDate는 earlierDate보다 이후입니다.");
}

4.2. 날짜 차이 계산

날짜 간의 차이는 밀리초 단위로 계산됩니다. 이를 이용해 두 날짜 간의 차이를 계산할 수 있습니다.

const startDate = new Date("2024-01-01");
const endDate = new Date("2024-12-31");

const timeDifference = endDate - startDate; // 차이는 밀리초 단위
const daysDifference = timeDifference / (1000 * 60 * 60 * 24); // 일 단위로 변환
console.log(daysDifference); // 출력: 365일


5. 날짜와 시간의 형식 변환

5.1. toDateString()

날짜만 표시하는 문자열로 변환합니다.

console.log(now.toDateString()); // 예시 출력: Mon Oct 10 2024

5.2. toTimeString()

시간만 표시하는 문자열로 변환합니다.

console.log(now.toTimeString()); // 예시 출력: 14:30:45 GMT+0900 (KST)

5.3. toLocaleDateString()

현지 언어 형식으로 날짜를 표시합니다.

console.log(now.toLocaleDateString()); // 예시 출력: 2024. 10. 10.

5.4. toLocaleTimeString()

현지 언어 형식으로 시간을 표시합니다.

console.log(now.toLocaleTimeString()); // 예시 출력: 14:30:45


6. 고급 날짜 처리: Intl.DateTimeFormat

JavaScript의 Intl.DateTimeFormat 객체를 사용하면, 날짜와 시간을 다양한 지역 및 형식으로 쉽게 포맷할 수 있습니다.

const date = new Date();
const formatter = new Intl.DateTimeFormat("en-US", {
    year: "numeric",
    month: "long",
    day: "numeric",
    weekday: "long",
    hour: "numeric",
    minute: "numeric",
    second: "numeric",
    timeZoneName: "short"
});
console.log(formatter.format(date)); // 예시 출력: Wednesday, October 10, 2024, 2:30:45 PM GMT+09:00


요약

  • Date 객체: JavaScript에서 날짜와 시간을 다루는 객체입니다.
  • 날짜 생성: 현재 날짜, 특정 날짜, 문자열 또는 타임스탬프를 통해 Date 객체를 생성할 수 있습니다.
  • 날짜 메서드: getFullYear(), getMonth(), getDate() 등 다양한 메서드를 사용하여 날짜와 시간을 얻거나 설정할 수 있습니다.
  • 날짜 비교: getTime() 메서드를 사용하여 날짜를 밀리초 단위로 비교할 수 있습니다.
  • 형식 변환: toLocaleDateString(), toLocaleTimeString()을 사용하여 날짜와 시간을 원하는 형식으로 변환할 수 있습니다.

JavaScript의 Date 객체를 사용하면 다양한 날짜 및 시간 작업을 손쉽게 처리할 수 있습니다. 날짜 계산, 형식 변환 등을 실습해보며 Date 객체를 익혀보세요!


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com