Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript天数计算_Javascript_Date - Fatal编程技术网

javascript天数计算

javascript天数计算,javascript,date,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) ) );

我有以下代码

// 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
应该是
ad
dd
之间的夜数,因此在本例中,
nn
的值应该是5(当我测试它时,它确实是)

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

我们正在调查以确保
ad
dd
始终是预期的yyyy-mm-dd格式,并且
dd
始终是比
ad
更晚的日期,但是假设这是有光泽的,有人能想出此计算失败的原因吗?


编辑:澄清一下,我不认为这个计算是失败的,但我想在排除它之前再发表第二(或第三)个意见

您在代码的最后一行中缺少结束符。包括最终参数,代码运行良好,
nn=5
,我相信这是理想的结果

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

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

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

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

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

您不应该使用
parseInt
there-is没有效果。您所说的“计算失败”到底是什么意思?没有通过零或诸如此类的除法。你认为它会引发异常吗?@Bergi:好吧,我知道这可能是多余的,但实际上不会导致任何东西失败,对吧?注意:这类问题就是一个很好的例子,说明了为什么使用验证代码的工具等工具很重要。如果您通过jslint运行代码,您会看到错误
预期''匹配'('从第8行开始,而是看到';'
,因此立即注意到缺少的参数。@Moses:实际上,在这里发布代码时,这是一个输入错误!很抱歉…(修正)您不应该使用
parseInt
there-is无效。您所说的“计算失败”到底是什么意思?没有通过零或诸如此类的除法。你认为它会引发异常吗?@Bergi:好吧,我知道这可能是多余的,但实际上不会导致任何失败,对吧?注意:这种问题是一个主要的例子,说明了为什么使用验证代码的工具很重要。你是通过jslint运行代码的吗,您会看到错误
预期''匹配'('从第8行开始,而是看到了';'
,因此立即注意到缺少的参数。@Moses:事实上,在这里发布代码时,这是一个拼写错误!很抱歉…(修复)您好Moses,感谢您查看此项!不幸的是,缺少
是因为在这里发布时出现了一个打字错误,它确实在代码中@mysql\u noobie\u xxxx在这种情况下,显然我们需要看到代码的更完整的图片。事实上,这段代码可以正确编译并返回预期的结果,因此如果没有额外的代码,我们所能做的就是推测。是的,还有更多的活动部分要看。例如,我提到的一个例子,我们正在调查以确保
ad
dd
具有预期值。我在这里的帖子是为了确保我能排除这一部分。我不认为这部分是导致问题的原因,但我想用第二双眼睛来确认。谢谢你好,摩西,谢谢你看这个!不幸的是,丢失的
是由于在这里发布时输入错误造成的,它确实在代码中@mysql\u noobie\u xxxx在这种情况下,显然我们需要看到代码的更完整的图片。事实上,这段代码可以正确编译并返回预期的结果,因此如果没有额外的代码,我们所能做的就是推测。是的,还有更多的活动部分要看。例如,我提到的一个例子,我们正在调查以确保
ad
dd
具有预期值。我在这里的帖子是为了确保我能排除这一部分。我不认为这部分是导致问题的原因,但我想用第二双眼睛来确认。谢谢