2012-07-07 174 views
-1

我有这个代码用于计算两个输入字段之间的日期差异(没有周末),并在第三个文本框中以天显示差异。日期格式是yy-mm-dd(因为mysql)。jquery日期差异

<script type="text/javascript"> 

    $("#vazi_od, #vazi_do").change(function() {  

    var d1 = $("#vazi_od").val(); 
    var d2 = $("#vazi_do").val(); 

      var minutes = 1000*60; 
      var hours = minutes*60; 
      var day = hours*24; 

      var vazi_od1 = getDateFromFormat(d1, "yy-mm-dd"); 
      var vazi_do1 = getDateFromFormat(d2, "yy-mm-dd"); 


      var newvazi_od=new Date(); 
      newvazi_od.setFullYear(vazi_od1.getYear(),vazi_od1.getMonth(),vazi_od1.getDay()); 
      var newvazi_do=new Date(); 
      newvazi_do.setFullYear(vazi_do1.getYear(),vazi_do1.getMonth(),vazi_do1.getDay()); 
      var days = calcBusinessDays(newvazi_od,newvazi_do); 
     if(days>0) 
    { $("#razlika").val(days);} 
    else 
    { $("#razlika").val(0);} 
}); 
</script> 

但是,当我选择开始和结束日期,没有发生在应该显示天差异的字段...任何帮助?

+0

另外,jquery的日期格式设置为yy-mm- dd – itsamemario 2012-07-07 17:44:59

+0

您有语法错误。至少关闭'})'丢失。 – Gumbo 2012-07-07 17:47:13

回答

1

您正在使用setFullYear通过所有日期参数...

setFullYear仅仅是设置日期的年份部分..

使用

var newvazi_od=new Date(vazi_od1.getYear(),vazi_od1.getMonth(),vazi_od1.getDay()); 
var var newvazi_do=new Date(vazi_do1.getYear(),vazi_do1.getMonth(),vazi_do1.getDay()); 

而且使用getDateFromFormatcalcBusinessDays你需要包括the date library from the javascript toolbox

+0

呃,是的,那。 :-) – 2012-07-07 17:50:44