>웹 프론트엔드 >JS 튜토리얼 >JavaScript를 사용하여 두 날짜의 연, 월, 일 차이를 어떻게 정확하게 계산할 수 있나요?

JavaScript를 사용하여 두 날짜의 연, 월, 일 차이를 어떻게 정확하게 계산할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-12-02 12:53:16940검색

How Can I Accurately Calculate the Difference Between Two Dates in Years, Months, and Days Using JavaScript?

JavaScript에서 연, 월, 일의 날짜 차이 확인

두 날짜의 연, 월, 일 차이를 확인하면 한 단위(년, 월 또는 일)의 차이만 제공하는 솔루션의 불일치로 인해 JavaScript에서 어려움을 겪거나 계산이 부정확합니다.

다음은 공휴일과 윤년은 물론 월 간의 정확한 날짜 차이를 고려하는 보다 포괄적인 솔루션입니다.

today = new Date();
past = new Date(2010, 05, 01); // Equivalent to June 1, 2010

function calcDate(date1, date2) {
  // Calculate the difference in milliseconds
  var diff = Math.floor(date1.getTime() - date2.getTime());

  // Convert milliseconds to days
  var day = 1000 * 60 * 60 * 24;
  var days = Math.floor(diff / day);

  // Calculate months and years from days
  var months = Math.floor(days / 31);
  var years = Math.floor(months / 12);

  // Format the message
  var message = date2.toDateString();
  message += " was ";
  message += days + " days ";
  message += months + " months ";
  message += years + " years ago \n";

  return message;
}

console.log(calcDate(today, past));
// Output: Tue Jun 01 2010 was 1143 days 36 months 3 years ago

이 솔루션은 월 간의 차이를 정확하게 계산합니다. 밀리초 단위의 차이를 일수로 변환한 다음 총 일수에서 월과 연도를 더 도출하여 두 날짜를 계산합니다.

위 내용은 JavaScript를 사용하여 두 날짜의 연, 월, 일 차이를 어떻게 정확하게 계산할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.