티스토리 뷰

728x90
반응형

현재 시간에서 1시간을 뺀 시간의 날짜를 구하려고 할 때,

now.getHours() - 1 로 하게되면 00시일때는 -1시가 되거나 에러가 날 것이다.

또 세팅한 값에 따라 이상한 값으로 리턴되는 경우도 종종 있다.

 

이럴 경우 getHours와 setHours를 사용하여 간단하게 해결할 수 있는데,

 

현재 시간에서 특정 시간을 뺀 시간의 월/일/시 데이터를 리턴하는 함수 예제로 살펴보자.

 

 const 특정시간을_빼보자 = () => {
    const now = new Date();
    now.setHours(now.getHours() - 1);

    const hours = now.getHours().toString().padStart(2, '0');
    const month = (now.getMonth() + 1).toString().padStart(2, '0');
    const day = now.getDate().toString().padStart(2, '0');

    return {
      hour: hours,
      month: month,
      day: day,
    };
  };

 

놀랍게도 이게 끝이다.

 

현재 시간에 대한 데이터를 추출하기 전에, 현재 시간을 get한 값을 빼주어 set 해준다음 리턴하면 된다.

padStart부분은 10단위 미만일 경우 '07월 05일 09시' 이런식으로 빈 자리에 0을 채우기 위해 사용하였다. 

728x90
반응형
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함