所以我有两个日期YYYY-MM-DD
和ZZZZ-NN-EE
我怎样才能找出它们之间有多少秒?
所以我有两个日期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 站点
或者,如果您的日期采用 javascript 可以解析的格式
var dif = Date.parse(MM + " " + DD + ", " + YYYY) - Date.parse(NN + " " + EE + ", " + ZZZZ);
然后您可以使用该值作为以毫秒为单位的差异(我的两个示例中的差异具有相同的含义)
只需减去:
var a = new Date();
alert("Wait a few seconds, then click OK");
var b = new Date();
var difference = (b - a) / 1000;
console.log("You waited: " + difference + " seconds");
你可以简单地做到这一点。
var secondBetweenTwoDate = Math.abs((new Date().getTime() - oldDate.getTime()) / 1000);
如果您的一个或两个日期都在未来,那么如果您想要秒的准确性,恐怕您就是 SOL。UTC 时间有闰秒,直到它们发生前大约 6 个月才知道,因此任何比这更远的日期都可能不准确几秒(实际上,因为人们不经常更新他们的机器,你可能会发现将来的任何时间都关闭了一些秒数)。
这很好地解释了设计日期/时间库的理论以及为什么会这样:http : //www.boost.org/doc/libs/1_41_0/doc/html/date_time/details.html#date_time.tradeoffs
创建两个Date
对象并调用valueOf()
它们,然后比较它们。