Dandy Now!
  • [개발자의품격][부트캠프][1기][8차시] JavaScript 주요 포인트 #5 | 내장 객체 - Date 객체
    2022년 02월 04일 08시 43분 38초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

    JavaScript 주요 포인트 #5

    내장 객체 - Date 객체

    자바스크립트에서 날짜와 시간을 다루는 객체이다.

     


     

    Date 생성자 / get 함수 / set 함수

    <script>
      // Date 생성자
      let now = new Date(); // 시스템 시간을 보여준다. 시스템 시간은 개인 PC에서 조작 가능하다. 이는 심각한 문제가 될 수 있다. 따라서 실무에서는 서버에서 날짜 데이터를 가져온다.
      console.log(now); // Thu Feb 04 2021 07:42:31 GMT+0900 (한국 표준시)
      
      let date = new Date("2022-01-25");
      console.log(date); // Tue Jan 25 2022 09:00:00 GMT+0900 (한국 표준시)
      
      let date2 = new Date(1643068800000); // 밀리세컨드를 인자로 넣을 수 있다.
      console.log(date2); // Tue Jan 25 2022 09:00:00 GMT+0900 (한국 표준시)
    
      // get
      console.log(now.getFullYear()); // 2022
      console.log(now.getMonth()); // 1
      console.log(now.getDate()); // 4
      console.log(now.getDay()); // 5
      console.log(now.getHours()); // 7
      console.log(now.getMinutes()); // 42
      console.log(now.getSeconds()); // 31
      console.log(now.getMilliseconds()); // 581
      console.log(now.getTime()); // 1643928151581
    
      // set(실무에서 set은 쓸일이 잘 없었다.)
      now.setFullYear(2021);
      console.log(now); // Thu Feb 04 2021 07:42:31 GMT+0900 (한국 표준시)
    </script>

    시스템 시간은 개인 PC에서 조작 가능하다. 이는 심각한 문제가 될 수 있다. 따라서 실무에서는 서버에서 날짜 데이터를 가져오는 방식을 사용한다. 실무에서 get 함수는 많이 사용하나 set 함수는 쓸 일이 거의 없었다고 한다.

     

    날짜 계산 함수 코드

    <script>
      // 오늘 날짜 기준으로 이전 날짜를 구하는 코드이다.
      function getIntervalDate(day) {
        let now = new Date();
        let dayMilliseconds = 60 * 60 * 24 * 1000;
    
        let intervalDate = now.getTime() + dayMilliseconds * day;
        return new Date(intervalDate);
      }
      // now인 "Thu Feb 04 2021 08:07:36 GMT+0900 (한국 표준시)"을 기준 30일전
      console.log(getIntervalDate(-30)); // Wed Jan 05 2022 08:07:36 GMT+0900 (한국 표준시)
    </script>

    오늘 날짜 기준으로 이전 날짜를 구하는 코드이다. 실무에서 많이 사용되는 코드이며, 이 코드를 복사해서 쓰면된다. 윤년도 고려하여 계산된다. 실무에서 날짜 조회 기능의 from ~ to에서 to는 기본적으로 오늘 날짜로 기본값 세팅한다. from의 경우는 담당자의 요구에 따라 일주일, 한 달 전 등으로 세팅한다.

    YYYY-MM-DD 포맷 코드

    <script>
      let now = new Date();
      console.log(now); // Fri Feb 04 2022 08:30:16 GMT+0900 (한국 표준시)
    
      // YYYY-MM-DD 포맷
      let year = now.getFullYear();
      let month = now.getMonth() + 1; // 월은 0부터 시작하기 때문에 1을 더해야 한다.
      let day = now.getDate();
      // padStart 이용해 한자리 수인 월 앞에 0을 붙여 두자리 수로 만들었다.
      console.log(
            year +
              "-" +
              month.toString().padStart(2, 0) +
              "-" +
              day.toString().padStart(2, 0)
          ); // 2022-02-04
    </script>

    현재 시간 정보를 YYYY-MM-DD 형식으로 보여주는 코드이다. 월은 0부터 시작하기 때문에 1을 더해야 한다. 한자리 수로 표기될 경우에 앞에 0을 붙여 두자리 수로 표기될 수 있도록 padStart를 적용했다.

     

    728x90
    반응형
    댓글