>웹 프론트엔드 >JS 튜토리얼 >JavaScript를 사용하여 연, 월, 일 단위로 두 날짜 간의 대략적인 차이를 어떻게 계산할 수 있나요?

JavaScript를 사용하여 연, 월, 일 단위로 두 날짜 간의 대략적인 차이를 어떻게 계산할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-12-03 04:06:07910검색

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

JavaScript에서 연, 월, 일의 날짜 차이 계산

윤년과 같은 요소를 고려하여 두 날짜 간의 정확한 차이 확인 다양한 개월 길이는 실제로 복잡한 작업이 될 수 있습니다. 그러나 기본 및 대략적인 계산의 경우 다음 JavaScript 코드는 합리적인 추정치를 제공할 수 있습니다.

today = new Date()
past = new Date(2010,05,01) // remember this is equivalent to 06 01 2010
//dates in js are counted from 0, so 05 is june

function calcDate(date1,date2) {
    var diff = Math.floor(date1.getTime() - date2.getTime());
    var day = 1000 * 60 * 60 * 24;

    var days = Math.floor(diff/day);
    var months = Math.floor(days/31);
    var years = Math.floor(months/12);
    
    var message = date2.toDateString();
    message += " was "
    message += days + " days " 
    message += months + " months "
    message += years + " years ago \n"
    
    return message
    }
        

a = calcDate(today,past)
console.log(a) // returns Tue Jun 01 2010 was 1143 days 36 months 3 years ago

두 개의 Date 객체(예: 오늘과 과거)를 사용하여 calcDate 함수를 호출하면 시간 차이를 밀리초 단위로 계산하고 이를 하루의 밀리초 수로 나누어 일 수를 구합니다. 그런 다음 날짜는 근사값으로 월과 연도로 그룹화됩니다.

이 방법은 일, 월, 연도 측면에서 날짜 차이에 대한 기본 추정치를 제공하지만 그레고리력의 모든 복잡성을 설명하지는 않습니다. . 보다 정확한 계산이나 특정 요구 사항이 있는 경우 이러한 복잡성을 보다 정확하게 처리하는 전용 라이브러리나 모듈을 사용하는 것이 좋습니다.

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

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