찾다

 >  Q&A  >  본문

두 날짜 사이의 일수를 계산하는 방법은 무엇입니까?

<p>예를 들어 입력 상자에 두 개의 날짜가 제공됩니다. </p> <pre class="brush:php;toolbar:false;"><입력 ID="첫 번째" 값="2000년 1월 1일"/> <입력 id="두 번째" 값="2001년 1월 1일"/> <스크립트> Alert(datediff("day", first, second)) // 여기에는 무엇이 들어가나요? <p>JavaScript에서 두 날짜 사이의 일수를 어떻게 얻나요? </p>
P粉604848588P粉604848588468일 전536

모든 응답(2)나는 대답할 것이다

  • P粉968008175

    P粉9680081752023-08-24 14:38:40

    이 글을 쓰는 시점에서 다른 답변 중 하나만 DST(일광 절약 시간) 변환을 올바르게 처리합니다. 캘리포니아에 위치한 시스템의 결과는 다음과 같습니다.

    으아아아

    Math.round는 올바른 결과를 반환하지만 조금 투박한 것 같습니다. 대신 DST가 시작되거나 끝날 때 UTC 오프셋의 변경 사항을 명시적으로 설명함으로써 정확한 산술을 사용할 수 있습니다.

    으아아아

    지침

    JavaScript 날짜 계산은 Date 객체가 현지 시간이 아닌 UTC 시간을 내부적으로 저장하기 때문에 까다롭습니다. 예를 들어, 2013년 3월 10일 오전 12시 태평양 표준시(UTC-08:00)는 2013년 3월 10일 오전 8시 UTC로 저장되고 2013년 3월 11일 오전 12시 태평양 일광 절약 시간제( UTC-07:00)은 2013년 3월 11일 오전 7시 UTC로 저장됩니다. 이날 자정부터 자정까지 현지 시간은 UTC보다 고작 23시간 빠릅니다!

    현지 시간의 하루는 24시간보다 길거나 짧을 수 있지만 UTC의 하루는 항상 정확히 24시간입니다. 1 위에 표시된 daysBetween 方法利用了这一点通过首先调用 treatAsUTC은 두 현지 시간을 UTC 자정으로 조정한 다음 이 사실을 이해하기 위해 빼고 나눕니다.

    1. JavaScript는 윤초를 무시합니다.

    회신하다
    0
  • P粉186897465

    P粉1868974652023-08-24 12:44:32

    여기에 질문에 제기된 문제를 해결하기 위한 개념 증명으로 datediff빠르고 더러운구현이 있습니다. 두 날짜 사이에 경과된 밀리초 수를 빼면 이를 원래 숫자 값(1970년 초 이후의 밀리초 수)으로 강제 변환할 수 있다는 사실에 의존합니다.

    으아아아 으아아아

    회신하다
    0
  • 취소회신하다