[javascript] 두 날짜 사이에 몇 초가 걸립니까?
그래서 나는 두 날짜가 YYYY-MM-DD
있고ZZZZ-NN-EE
그들 사이에 몇 초가 있는지 어떻게 알 수 있습니까?
답변
YYYY & ZZZZ를 사용하여 연도를 의미하는 정수 값을 의미하고 MM & NN은 연도를 의미하는 정수 값을 의미하고 DD & EE는 월을 의미하는 정수 값으로 의미합니다.
var t1 = new Date(YYYY, MM, DD, 0, 0, 0, 0);
var t2 = new Date(ZZZZ, NN, EE, 0, 0, 0, 0);
var dif = t1.getTime() - t2.getTime();
var Seconds_from_T1_to_T2 = dif / 1000;
var Seconds_Between_Dates = Math.abs(Seconds_from_T1_to_T2);
향후 참조를위한 편리한 소스는 MDN 사이트입니다
또는 날짜가 자바 스크립트 형식으로 올 경우
var dif = Date.parse(MM + " " + DD + ", " + YYYY) - Date.parse(NN + " " + EE + ", " + ZZZZ);
그런 다음 그 값을 밀리 초의 차이로 사용할 수 있습니다 (두 예에서 dif는 동일한 의미를 가짐)
답변
그냥 빼기 :
var a = new Date();
alert("Wait a few seconds, then click OK");
var b = new Date();
var difference = (b - a) / 1000;
alert("You waited: " + difference + " seconds");
답변
만약 당신의 날짜 중 하나 또는 둘 다가 미래에 있다면, 당신이 두 번째 정확도를 원한다면 당신이 SOL을 두려워합니다. UTC 시간은 약 6 개월 전까지 알려지지 않은 윤초를 가지고 있으므로, 그보다 더 긴 날짜는 몇 초가 지나서 부정확 할 수 있습니다 (실제로 사람들은 종종 컴퓨터를 업데이트하지 않기 때문에 앞으로 몇 초가 지나면 언제든지 찾을 수 있습니다).
이것은 날짜 / 시간 라이브러리 설계 이론과 그 이유에 대한 좋은 설명을 제공합니다. http://www.boost.org/doc/libs/1_41_0/doc/html/date_time/details.html#date_time.tradeoffs
답변
간단하게 할 수 있습니다.
var secondBetweenTwoDate = Math.abs((new Date().getTime() - oldDate.getTime()) / 1000);
답변
답변
var a = new Date("2010 jan 10"),
b = new Date("2010 jan 9");
alert(
a + "\n" +
b + "\n" +
"Difference: " + ((+a - +b) / 1000)
);
답변
쉬운 방법:
function diff_hours(dt2, dt1)
{
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
diff /= (60 * 60);
return Math.abs(Math.round(diff));
}
function diff_minutes(dt2, dt1)
{
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
diff /= (60);
return Math.abs(Math.round(diff));
}
function diff_seconds(dt2, dt1)
{
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
return Math.abs(Math.round(diff));
}
function diff_miliseconds(dt2, dt1)
{
var diff =(dt2.getTime() - dt1.getTime());
return Math.abs(Math.round(diff));
}
dt1 = new Date(2014,10,2);
dt2 = new Date(2014,10,3);
console.log(diff_hours(dt1, dt2));
dt1 = new Date("October 13, 2014 08:11:00");
dt2 = new Date("October 14, 2014 11:13:00");
console.log(diff_hours(dt1, dt2));
console.log(diff_minutes(dt1, dt2));
console.log(diff_seconds(dt1, dt2));
console.log(diff_miliseconds(dt1, dt2));