javascript天数计算

时间:2012-08-06 17:45:05

标签: javascript date

我有以下代码

// code set somewhere else on page
var ad = "2012-08-29";
var dd = "2012-09-03";

//my code
var a = new Date(ad+'T00:00:00');
var d = new Date(dd+'T00:00:00');
var nn = Math.ceil( parseInt(  ( d.getTime()-a.getTime() ) / (1000*60*60*24) ) );

dd应该始终是一个比ad更远的日期。

nn应该是addd之间的之夜的数量,因此在此示例中,{{1}的值应为5 (当我测试时它确实如此)。

正在跟踪

nn(放入GA变量,以及Omniture变量),但大约50%的时间没有获得值。我们进行了三重检查,并且100%排除跟踪本身不存在问题(我们已经检查以确保跟踪实施是正确的,并且GA(Omniture)之间的(缺少)数字是一致的)。

我们正在调查以确保nnad始终是预期的yyyy-mm-dd格式,dd始终是一个比{{1}更远的日期},但假设那是闪亮的,有人能想到这个计算失败的原因吗?

编辑:澄清一下,我认为这个计算没有失败,但在裁定之前我想要第二个(或第三个!)意见。

1 个答案:

答案 0 :(得分:1)

您在最后一行代码中缺少一个结束语。包括最终的parens,代码运行正常,nn = 5我相信这是理想的结果。

var nn = Math.ceil( parseInt(  ( d.getTime()-a.getTime() ) / (1000*60*60*24) ) );

或者,您可以删除Bergi建议的parseInt(它对代码没有影响)。只要确保parens匹配,你会没事的。