ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ JS ] Date 객체와 메서드
    Javascript/이론 2023. 1. 1. 19:04
    반응형

     

    1. 객체 생성

    1) 인수 없이 호출

      현재 날짜 및 시간이 저장된 객체 반환

     

    let date = new Date();
    // Sun Jan 01 2023 17:54:39 GMT+0900 (한국 표준시)
    // 현재 날짜 및 시간이 저장된 객체 반환

     

     

    2) 숫자 인수를 전달하여 호출

      UTC 기준 1970년 1월 1일 0시 0분 0초에서 date 객체 생성시 전달한 arg 밀리초 후의 시점이 저장된 객체 반환

     

    let date = new Date(24 * 3600 * 1000);
    console.log(date) 
    // Fri Jan 02 1970 09:00:00 GMT+0900 (한국 표준시)
    // UTC 기준 1970년 1월 1일 0시 0분 0초에서 date 객체 생성시 전달한 arg 밀리초 후의 시점이 저장된 객체 반환

     

     

    3) 문자열 인수를 전달하여 호출

      주어진 인수에 해당하는 날짜가 저장된 객체 반환

     

    let date = new Date("2017-01-26");
    console.log(date)
    // Thu Jan 26 2017 09:00:00 GMT+0900 (한국 표준시)
    // 주어진 인수에 해당하는 날짜가 저장된 객체 반환

     

     

    4) 여러 인수를 전달하여 호출

      주어진 인수를 조합해 만들어진 날짜가 저장된 객체가 반환

    new Date(year, month, date, houres, minutes, seconds, ms)
    • year에 반드시 네자리의 숫자가 전달되어야 한다.
    • month는 0(1월)부터 11(12월) 사이의 숫자를 전달해야 한다.
    • date는 일을 나타내는데, 값이 없는 경우엔 1일로 처리된다.
    • hours/minutes/seconds/ms에 값이 없는 경우엔 0으로 처리된다.

     

    let date = new Date(2021, 5, 24, 5, 36, 12, 256)
    console.log(date)
    // Thu Jun 24 2021 05:36:12 GMT+0900 (한국 표준시)

     

    2. Date 객체 메서드

    1) 연도 - getFullYear()

     

    let date = new Date(2021, 5, 24, 5, 36, 12, 256)
    console.log(date.getFullYear())
    // 2021

     

     

    2) 월 - getMonth()

     

    let date = new Date(2021, 5, 24, 5, 36, 12, 256)
    console.log(date.getMonth())
    // 5

     

     

    3) 일 - getDate()

     

    let date = new Date(2021, 5, 24, 5, 36, 12, 256)
    console.log(date.getDate())
    // 24

     

     

    4) 시, 분, 초, 밀리초 - getHours(), getMinutes(), getSeconds(), getMilliseconds()

     

    let date = new Date(2021, 5, 24, 5, 36, 12, 256)
    console.log(date.getHours())         // 5 
    console.log(date.getMinutes())       // 36
    console.log(date.getSeconds())       // 12
    console.log(date.getMilliseconds())  // 256

     

    5) 요일 키값 - getDay()

     

    let date1 = new Date('2023-01-01')  // Sun Jan 01 2023 09:00:00 GMT+0900
    let date2 = new Date('2023-01-02')  // Mon Jan 02 2023 09:00:00 GMT+0900
    let date3 = new Date('2023-01-03')  // Tue Jan 03 2023 09:00:00 GMT+0900
    let date4 = new Date('2023-01-04')  // Wed Jan 04 2023 09:00:00 GMT+0900
    let date5 = new Date('2023-01-05')  // Thu Jan 05 2023 09:00:00 GMT+0900
    let date6 = new Date('2023-01-06')  // Fri Jan 06 2023 09:00:00 GMT+0900
    let date7 = new Date('2023-01-07')  // Sat Jan 07 2023 09:00:00 GMT+0900
    
    console.log(date1.getDay())         // 0
    console.log(date2.getDay())         // 1
    console.log(date3.getDay())         // 2
    console.log(date4.getDay())         // 3
    console.log(date5.getDay())         // 4
    console.log(date6.getDay())         // 5
    console.log(date7.getDay())         // 6
    
    // 0 ~ 1(Sun ~ Sat에 대응)의 값으로 반환

    * date 객체 자체가 요일값에 대응하는 문자열을 가지고 있으므로 입력한 날짜의 요일값을 문자열로 반환받고 싶다면, date객체에 .toString을 적용한 뒤 앞 3자리를 자르면 된다.

     

     

    6) 1970-1-1 00:00:00 와의 간격 (milliseconds) - getTime(), Date.now(), +, -

     

    // 인자값과 1970-1-1 00:00:00 사이의 차이를 밀리초로 반환
    let date1 = new Date('2023-01-01')
    console.log(date1.getTime()) // 1672531200000
    console.log(-date1)          // -1672531200000
    console.log(+date1)          // 1672531200000
    
    // 객체 생성 없이 현재와 1970-1-1 00:00:00 사이의 차이를 밀리초로 반환
    console.log(Date.now())
    // 1672566462853

     

     

    7) 현지시간과 표준시간의 차이 - getTimezoneOffset() 

     

    let date1 = new Date('2023-01-01')
    console.log(date1.getTimezoneOffset())
    // -540

     

     

    8) 문자열을 통한 날짜 읽기 - Date.parse("YYYY-MM-DDTHH:mm:ss.sssZ")

    • "T" : 구분 기호
    • 'Z'(옵션) : +-hh:mm 형식의 시간대를 나타냄. Z 한 글자인 경우엔 UTC+0

     

    let ms = Date.parse('2023-01-01T06:57:50.417-07:00');
    console.log(ms); // 1672581470417

     

     

    9) 날짜 구성요소 설정

    • setFullYear(year[, month, date])
    • setMonth(month[, date])
    • setDate(date)
    • setHours(hour[, min, sec, ms])
    • setMinutes(min[, sec, ms])
    • setSeconds(sec[, ms])
    • setMilliseconds(ms)
    • setTime(milliseconds)
    반응형

    댓글

Designed by Tistory.