JavaScript에서 날짜 빼기

Valentine Kagwiria 2023년10월12일
  1. getTime()함수를 사용하여 JavaScript에서 날짜 시간을 뺍니다
  2. Math.abs()함수를 사용하여 JavaScript에서 날짜 시간 빼기
  3. Date.UTC()함수를 사용하여 날짜를 UTC로 변환
JavaScript에서 날짜 빼기

이 기사에서는 JavaScript에서 두 날짜를 빼는 방법을 설명합니다.

getTime()함수를 사용하여 JavaScript에서 날짜 시간을 뺍니다

첫 번째 단계는 내장 된new Date()함수를 사용하여 두 날짜를 정의하는 것입니다. 날짜의 차이를 얻으려면getTime()함수를 사용하여 두 값을 빼면 숫자 값으로 변환됩니다. 결과를 일 단위로 인쇄하거나 필요에 따라 시간, 분, 초 또는 밀리 초로 변환 할 수 있습니다. 다음은 예제 코드입니다.

var day1 = new Date('08/25/2020');
var day2 = new Date('12/25/2021');

var difference = day2.getTime() - day1.getTime();

document.write(difference);

출력:

42080400000

Math.abs()함수를 사용하여 JavaScript에서 날짜 시간 빼기

이 절차는 절대 값을 반환한다는 점을 제외하면 첫 번째 절차와 유사합니다. 두 날짜를 정의한 후 다음과 같이Math.abs()함수를 사용하여 두 변수를 빼야합니다.

var day1 = new Date('08/25/2020');
var day2 = new Date('08/25/2021');

var difference = Math.abs(day2 - day1);
days = difference / (1000 * 3600 * 24)

console.log(days)

출력:

365

Math.abs()함수는 대소 문자를 구분하며 다르게 작성하면 작동하지 않습니다.

Date.UTC()함수를 사용하여 날짜를 UTC로 변환

문제의 날짜가 일광 절약 시간제 변경에 걸쳐있는 경우 위의 솔루션은 약간 문제가 될 수 있습니다. 이 문제를 해결하는 가장 좋은 방법은 날짜를 UTC로 변환하여 DST를 먼저 제거한 다음 그 차이를 확인하는 것입니다. 두 날짜에 대해 두 개의 객체가있는 함수를 만들어야합니다.

function difference(date1, date2) {
  const date1utc =
      Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate());
  const date2utc =
      Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate());
  day = 1000 * 60 * 60 * 24;
  return (date2utc - date1utc) / day
}

const date1 = new Date('2020-12-10'), date2 = new Date('2021-10-31'),
      time_difference = difference(date1, date2)

console.log(time_difference)

출력:

325

관련 문장 - JavaScript DateTime