반응형
2022-01-01부터 2022-01-04일까지 4일이라는 일수를 구하고 싶다
혹은
오늘부터 2022-01-05일까지의 일수를 구하고 싶다
// 2022-01-01부터 2022-01-04까지 일수
let d1 = new Date('2022-01-01');
let d2 = new Date('2022-01-04');
let msec = d2.getTime() - d1.getTime(); // 2732400000
let days = msec / (1000 * 60 * 60 * 24); // 3
// 시작일자를 포함하지 않기 때문에 시작일자를 포함하고 싶으면 +1을 해줘야 한다
// 오늘부터 2022-01-06까지 일수
let today = new Date();
let d3 = new Date('2022-01-06');
let msec2 = d3.getTime() - today.getTime();
let fromToday = msec2 / (1000 * 60 * 60 * 24); // 1.7858692708333332
getTime()은 '1970년 1월1 일 00:00:00 UTC'로부터 주어진 시간 사이의 경과시간(밀리초)를 리턴한다
'1970년 1월1 일 00:00:00 UTC'의 getTime() 값은 0이고,
'1970년 1월 1일 00:00:01 UTC'의 getTime() 값은 1000이다
종료일자.getTime() - 시작일자.getTime() = 두 날짜 사이의 경과한 밀리초이다
1초 = 1000 밀리초
1분 = 60초
1시간 = 60분
1일 = 24시간
따라서 getTime()으로 얻은 밀리초를 1000으로 나누면 초 단위,
여기에 60으로 나누면 분 단위,
또 60으로 나누면 시 단위,
그리고 24로 나누면 일 단위를 얻을 수 있다
반응형
'JavaScript' 카테고리의 다른 글
[#. Base64 ] atob(), btoa() Base64 인코딩과 디코딩 (0) | 2022.03.17 |
---|---|
[#. JavaScript] 초성, 중성, 종성 구하기 / 앞 단어에 따라 은, 는, 이, 가 조사 붙이기 (0) | 2022.01.06 |
[#. JavaScript] MDN에 나와 있는 Object Method 정리하기 (0) | 2021.11.29 |
[#. JavaScript] ES6 정리하기 (0) | 2021.11.23 |
[#. JavaScript] input maxlength 글자수 제한하기 (0) | 2021.10.27 |