如何在javascript中将日期差异转换为数字

时间:2012-05-02 11:26:10

标签: javascript html

我设计了一个包含3个字段的表单 从日期 至今 没有天 我想计算from_date和to_date之间的差异,差值将显示在nu_of天。这个代码:

<script>
function difference()
{
var d1=document.getElementById("P1_FROM_DATE");
var d2=document.getElementById("P1_TO_DATE");
var d3=document.getElementB`yId("P1_NO_DAYS");
if(d2.value < d1.value)
{
alert("todate should not be less than from date");
d2.focus();
return false;
}
else
{
d3.value=(d2.value - d1.value)+1;
return true;
}
}
</script>

当此代码执行且条件满足时 no_of_days告诉我NaN。那么解决方案请告诉我。

此致 Sabyasachi

2 个答案:

答案 0 :(得分:0)

您正尝试在仅了解文本的字段上使用基于日期的方法。您需要使用Date类从文本转换这些值,并使用这些方法来执行日期算术。

祝你好运!

答案 1 :(得分:0)

通用公式。日期[x] -format必须是ISO(例如'yyyy / mm / dd')。

var diffDays = 
     Math.floor( (new Date([date1]) - new Date[date2]) / (1000*60*60*24) );

BTW,我认为document.getElementById("P1_FROM_DATE")是一个输入字段。在这种情况下,请使用document.getElementById("P1_FROM_DATE").value以避免失望。