JavaScript에서 두 날짜 사이의 날짜 차이를 계산하는 방법

7737 단어 javascript
라이브러리 없이 JavaScript에서 두 날짜 사이의 일 수를 계산해 본 적이 있습니까? 방법은 다음과 같습니다.

짧은 대답:




const firstDate = new Date("05/10/2022") // 10th May, 2022
const secondDate = new Date() // today, 14th May, 2022

const millisecondsDiff = secondDate.getTime() - firstDate.getTime()

const daysDiff = Math.round(
  millisecondsDiff / (24 * 60 * 60 * 60)
)


긴 답변



두 날짜의 차이를 찾으려면 먼저 밀리초 단위의 시간 값을 가져와야 합니다. getTime 인스턴스에서 Date 메서드를 사용하여 이를 얻습니다.

const firstDate = new Date("05/10/2022") // 10th May, 2022
const secondDate = new Date() // today, 14th May, 2022

const firstDateInMs = firstDate.getTime()
const secondDateInMs = secondDate.getTime()


밀리초 값은 빼기와 같은 산술 연산을 수행할 수 있는 숫자입니다.

다음 단계는 두 날짜의 차이를 찾는 것입니다.

const differenceBtwDates = secondDateInMs - firstDateInMs

console.log(differenceBtwDates)
// 351628869


이제 두 날짜 사이에 밀리초 차이가 있습니다. 여기에서 밀리초를 일로 변환합니다. 그렇게하는 방법?

먼저 1일(24시간)을 밀리초 단위로 계산합니다. 방법은 다음과 같습니다.

const aDayInMs = 24 * 60 * 60 * 1000

console.log(aDayInMs)
// 86400000


  • 24는 24시간을 의미합니다.
  • 60은 60분을 의미하므로 1시간이 되므로 24시간을 분으로 변환합니다
  • .
  • 다음 60은 60초를 나타내며 1분이 됩니다
  • .
  • 1000은 1000밀리초를 나타내며 1초
  • 를 만듭니다.

    이제 하루에 대한 밀리초 값이 있으므로 이를 사용하여 날짜 간의 차이가 몇 일인지 확인할 수 있습니다.
    86400000 ( aDayInMs ) 밀리초가 하루라면 351628869 ( differenceBtwDates ) 밀리초는 다음과 같습니다.

    const daysDiff = differenceBtwDates / aDayInMs
    
    console.log(daysDiff)
    // 4.0782153125
    


    부동 소수점을 반환하므로 Math.round()로 반올림할 수 있습니다.

    const daysDiff = Math.round(differenceBtwDates / aDayInMs)
    
    console.log(daysDiff)
    // 4
    


    5월 10일과 5월 14일을 비교하면 4일 차이입니다.

    전체 코드는 다음과 같습니다.

    const firstDate = new Date("05/10/2022") // 10th May, 2022
    const secondDate = new Date() // today, 14th May, 2022
    
    const firstDateInMs = firstDate.getTime()
    const secondDateInMs = secondDate.getTime()
    
    const differenceBtwDates = secondDateInMs - firstDateInMs
    
    const aDayInMs = 24 * 60 * 60 * 1000
    
    const daysDiff = Math.round(differenceBtwDates / aDayInMs)
    
    console.log(daysDiff)
    // 4
    

    firstDatesecondDate는 모든 날짜가 될 수 있습니다. 설명을 위해 5월 10일과 14일을 사용했습니다.

    좋은 웹페이지 즐겨찾기