반응형
자바스크립트 날짜 차이 계산
자바스크립트로 현재 날짜부터 특정일 수의 차이를 구해야 될 때가 있습니다. 따로 자바스크립트로 구현을 해보도록 하겠습니다.
현재는 2021년 3월 24일입니다. 그리고 2021년 03 월 21일과의 일수 차이는3일입니다.
차이가 그대로 나는지 한번 코드를 작성해 보도록 하겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
// 현재: 2021-03-24
var now = new Date();
var year = now.getFullYear(); // 연도
var month = now.getMonth()+1; // 월
var day = now.getDate(); // 일
var stDate = new Date(2021, 03, 21);
var endDate = new Date(year, month, day);
var btMs = endDate.getTime() - stDate.getTime() ;
var btDay = btMs / (1000*60*60*24) ;
console.log("일수 차이는?? " + btDay);
|
cs |
▼ 크롬 브라우저에서 F11 누르면 나오는 개발자 도구의 Console 창에서도 해당 결과를 확인해 볼 수 있습니다.
파라미터로 받은 날짜의 일 수차이 구하기
앞에서는 date 선언 시 var stDate = new Date(2021, 03, 21); 이렇게 했지만 2021, 03, 21 이부분을 만약 파라미터로 받는다면 어떻게 할건지 조금 나아가서 알아보도록 하겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
// 현재: 2021-03-24
var now = new Date();
// 파라미터로 받을 수 있음. 편의상 현재날짜로 대체
var date = "2021-03-21";
var date_arr = date.split("-");
var year = now.getFullYear(); // 연도
var month = now.getMonth()+1; // 월
var day = now.getDate(); // 일
var stDate = new Date(date_arr[0], date_arr[1], date_arr[2]);
var endDate = new Date(year, month, day);
var btMs = endDate.getTime() - stDate.getTime() ;
var btDay = btMs / (1000*60*60*24) ;
console.log("일수 차이는?? " + btDay);
|
cs |
▼ 동일하게 크롬브라우저 개발자도구에서 결과를 확인 할 수 있습니다.
잠깐 설명을 하자면 2021-03-21을 선언 후 split을 하는데 이건 하이픈 기준으로 데이터를 나눈다는 뜻입니다.
그래서 2021, 03, 21 이렇게 배열 0번,1번 ,2번 세개로 나뉘어 지게 됩니다.
보통 그리고 이렇게 배열로 나누고 난 이후에 길이(length) 체크 후 for문을 돌려서 데이터를 바인딩 하는데 지금 같은경우에는 0, 1, 2 이렇게 세가지이고 바로 알 수 있기 때문에 그냥 배열(date_arr[0], date_arr[1], date_arr[2])로 바로 값을 줘서 처리했습니다.
프로그램같은경우에는 여러가지 방법이 있을 수 있습니다. 프로그래밍을 하실 때 다른방법은 없는지 생각을 해보시는 연습을 해보시면 좋습니다.
반응형
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
[javascript] 자바스크립트 submit할때 파라미터 안넘어가게 막는 방법 (0) | 2021.05.12 |
---|---|
[javascript/jQuery]자바스크립트 제이쿼리 id, class, name 으로 value 값 가져오기 (0) | 2021.04.23 |
[javascript] 자바스크립트 window.onload() 란 무엇인가요? (0) | 2021.04.22 |
[javascript] 자바스크립트 현재 시간과 다른시간의 분 차이 계산 (0) | 2021.03.26 |
자바스크립트 데이터 Null check, 빈값 체크 방법 (0) | 2021.02.15 |
댓글