Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 Date 객체의 분을 빼는 방법 – setMinutes() 활용하기

JavaScript Date 객체에서 특정 분(minute)을 빼려면 setMinutes() 메서드를 사용하면 됩니다. 이 메서드는 지정된 날짜 객체의 분 값을 현지 시간(local time)을 기준으로 설정하며, 현재 분 값에서 원하는 만큼의 숫자를 빼주면 손쉽게 시간을 조정할 수 있습니다.

setMinutes() 메서드란?

setMinutes() 메서드는 Date 객체의 분(0~59)을 현지 시간 기준으로 설정하는 메서드입니다. 인수로 음수나 60 이상의 값이 전달되더라도 JavaScript가 시(hour)와 날짜(day)를 자동으로 보정해 주기 때문에, 별도의 복잡한 계산 없이도 안전하게 날짜와 시간을 다룰 수 있습니다.

예제: 20분 빼기

다음 코드를 실행하면 '2017년 12월 31일 11시 30분 25초'에서 20분을 뺀 결과를 확인할 수 있습니다.

<html>
   <head>
      <title>JavaScript setMinutes Method</title>
   </head>
   <body>
      <script>
         var dt = new Date("December 31, 2017 11:30:25");
         dt.setMinutes( dt.getMinutes() - 20 );
         document.write( dt );
      </script>
   </body>
</html>

실행 결과

Sun Dec 31 2017 11:10:25 GMT+0900 (대한민국 표준시)

코드 설명

  1. new Date("December 31, 2017 11:30:25")로 특정 시점의 Date 객체를 생성합니다.
  2. dt.getMinutes()를 호출해 현재 분 값인 30을 가져옵니다.
  3. dt.setMinutes(dt.getMinutes() - 20)으로 여기서 20을 뺀 값 10을 다시 설정합니다.

그 결과 11시 30분에서 20분이 차감된 11시 10분 25초가 출력됩니다.

밀리초를 이용한 대체 방법

getTime() 메서드와 밀리초 연산을 활용하면 같은 결과를 얻을 수도 있습니다. 20분은 20 × 60 × 1000 밀리초이므로 다음과 같이 작성할 수 있습니다.

var dt = new Date();
dt.setTime(dt.getTime() - 20 * 60 * 1000);

두 방법 모두 널리 사용되지만, 분 단위만 정확히 조정하고 싶다면 setMinutes()를 사용하는 것이 더 직관적입니다.