JavaScript의 Date 객체 이해하기

BossTeemo·2024년 5월 5일
0
post-thumbnail

JavaScript의 Date 객체에 대해 자세히 알아보기

소개

JavaScript의 Date 객체는 날짜와 시간을 처리하고 계산하는 데 유용한 내장 객체입니다. 이 글에서는 Date 객체를 생성하고, 수정하며, 다양한 방법으로 활용하는 방법에 대해 알아보겠습니다.

Date 객체 생성

  1. 현재 날짜와 시간

    • 현재 시각의 Date 객체를 생성합니다.
    let now = new Date();
  2. 타임스탬프

    • 특정 타임스탬프를 기반으로 Date 객체를 생성합니다.
    let specificTime = new Date(1633046400000);
  3. 문자열로 생성

    • 문자열을 사용하여 Date 객체를 생성합니다.
    let dateString = new Date('2023-01-01');
  4. 년, 월, 일, 시간 등

    • 년, 월, 일, 시간 등을 인자로 받아 특정한 시점을 나타냅니다.
    let specificDate = new Date(2023, 0, 1, 10, 30, 45, 500);

Date 객체 정보 수정

set으로 시작하는 메서드를 사용하여 Date 객체의 정보를 수정할 수 있습니다.

  1. setFullYear(year, [month], [date])

    • 년도, 월, 일 정보를 수정합니다.
    let myDate = new Date(2017, 4, 18, 19, 11, 16);
    myDate.setFullYear(2002);
  2. setMonth(month, [date])

    • 월과 일 정보를 수정합니다.
    myDate.setMonth(6);
  3. setDate(date)

    • 일 정보를 수정합니다.
    myDate.setDate(20);
  4. setHours(hour, [min], [sec], [ms])

    • 시간, 분, 초, 밀리초 정보를 수정합니다.
    myDate.setHours(15, 45, 30, 200);

간단하게 시간 정보 알아내기

toLocaleDateString, toLocaleTimeString, toLocaleString 메서드는 사용자의 로케일에 맞춰 날짜 및 시간을 포맷해줍니다.

let myDate = new Date();

console.log(myDate.toLocaleDateString()); // 날짜 (년. 월. 일)
console.log(myDate.toLocaleTimeString()); // 시간 (시:분:초)
console.log(myDate.toLocaleString()); // 날짜와 시간 (년. 월. 일 시:분:초)

Date의 자동 수정 기능

범위를 벗어나는 날짜를 설정하려고 하면 자동으로 날짜를 수정해줍니다.

let myDate = new Date(1988, 0, 32);
console.log(myDate); // 1988-02-01

Date.now()

Date.now()는 현재 시점의 타임스탬프를 반환하며 새로운 Date 객체를 만들지 않고도 현 시점의 날짜를 얻을 수 있습니다.

console.log(Date.now());

Date 객체의 형변환

Date 객체는 문자열, 숫자, 불리언으로 변환될 때 각기 다른 방식으로 처리됩니다.

let myDate = new Date(2017, 4, 18);
console.log(String(myDate)); // Thu May 18 2017
console.log(Number(myDate)); // 1495033200000 (타임스탬프)
console.log(Boolean(myDate)); // true

날짜 계산

Date 객체는 밀리초 기반으로 계산할 수 있어 두 날짜 간의 차이를 쉽게 계산할 수 있습니다.

let myDate1 = new Date(2017, 4, 18);
let myDate2 = new Date(2017, 4, 19);

let timeDiff = myDate2 - myDate1;
console.log(timeDiff / 1000 / 60 / 60 / 24); // 1 (일)

다양한 날짜 형식 문자열

여러 형식의 문자열로 Date 객체를 생성할 수 있지만, 시간대 차이 등으로 문제가 발생할 수 있으므로 표준 형식을 사용해야 합니다.

let date1 = new Date('12/15/1999 05:25:30');
let date2 = new Date('December 15, 1999 05:25:30');
let date3 = new Date('Dec 15 1999 05:25:30');
profile
1인개발자가 되겠다

0개의 댓글