자바스크립트 시간 비교 - jabaseukeulibteu sigan bigyo

// 시간계산

var now = new Date();

// 현재시간 

var year = now.getFullYear();     // 연도

var month = now.getMonth()+1;     // 월(+1해줘야됨)                            

var day = now.getDate();          // 일

var hours = now.getHours();       // 현재 시간

var minutes = now.getMinutes();   // 현재 분

console.log("1: "+year + "-"+month+"-"+day);

console.log("2: "+hours + ":" + minutes);

// 비교시간

var sttDt = "2021-3-26";

sttDt = sttDt.split("-");

var sttYear = sttDt[0];

var sttMonth = sttDt[1];

var sttDay = sttDt[2];

console.log("3: "+sttDt + "-"+sttMonth +"-"+sttDay );

var sttHours = 03;

var sttMinutes = 30;

var date1 = new Date(year, month, day, hours, minutes);                    // 현재 

var date2 = new Date(sttYear, sttMonth, sttDay, sttHours, sttMinutes);     // 파라미터

console.log("4: "+date1);

console.log("5: "+date2);

var elapsedMSec = date2.getTime() - date1.getTime(); 

var elapsedMin = elapsedMSec / 1000 / 60

console.log("6: "+elapsedMSec);

console.log("7: "+elapsedMin );

elapsedMin = parseInt(elapsedMin);    // 정수 표기를 위해 parseInt                                         

var start = new Date('2020-10-14 09:00:00');

var end = new Date('2020-10-14 09:07:00');

또는 id로 value값을 가져와서 그 값의 비교를 할 경우에는,

var start = new Date($('#id').val());

var end = new Date($('#id').val());

이렇게 가져온 value를 넣어주면 된다.

* 초

   var diffTime = (end.getTime() - start.getTime()) / (1000);

=> result) 420

(1초 =1000ms 이기 때문에)

* 분

   var diffTime = (end.getTime() - start.getTime()) / (1000*60);

=> result) 7

(1분 = 60초 = 60000ms)

시 차이를 명확히 알기 위해 예제 시간을 변경해보겠다.

var start = new Date('2020-10-14 09:00:00');

var end = new Date('2020-10-14 14:00:00');

* 시

   var diffTime = (end.getTime() - start.getTime()) / (1000*60*60);

=> result) 5

( 1시간 = 60분 = 360초 = 3600000ms )

날짜 차이를 알아보자.

날짜 차이를 명확히 알기 위해 예제를 변경!

var start = new Date('2018-07-02 09:00:00');

var end = new Date('2020-10-14 09:00:00');

* 일

   var diffTime = (end.getTime() - start.getTime()) / (1000*60*60*24);

=> result) 835

* 월

   var diffTime = (end.getTime() - start.getTime()) / (1000*60*60*24*30);

=> result) 27.833333333333332

* 년

   var diffTime = (end.getTime() - start.getTime()) / (1000*60*60*24*30*12);

=> result) 2.3194444444444446