var date1 =  "2011-3-23";
var date2 = "2011-5-27";求这个值的差,返回整天数:求代码!

解决方案 »

  1.   

     
    <script language='javascript'>var date1 = "2011-3-23";
    var date2 = "2011-5-27";  function getDateDiff(date1,date2){
       
       var   re   =   /^(\d{4})\S(\d{1,2})\S(\d{1,2})$/;   
       var   dt1,dt2;   
       if   (re.test(date1))   
       {   
        dt1   =   new   Date(RegExp.$1,RegExp.$2   -   1,RegExp.$3);   
       } 
        
       if   (re.test(date2))   
       {   
        dt2   =   new   Date(RegExp.$1,RegExp.$2   -   1,RegExp.$3);   
       }  
        
       return Math.floor((dt2-dt1)/(1000 * 60 * 60 * 24))
       
      }
      alert(getDateDiff(date1,date2));
    </script>
      

  2.   

    nowDate = new Date();
    //方法返回一个整数值,这个整数代表了从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数
    nowDate.getTime();写到这里你应明白怎么办了吧。
      

  3.   

    再根据一天的毫秒数,就可以获得差的天数的,可能先还需将日期转成Date型的。
      

  4.   

    //比较String类型的两个时间之差
    public String twoStringdateCompare(String date1,String date2) throws ParseException
    {
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date d1 = df.parse(date1);
    Date d2 = df.parse(date2);
    long diff = d1.getTime() - d2.getTime();
    long days = diff / (1000 * 60 * 60 * 24);
    long hour = (diff / (60 * 60 * 1000) - days * 24);
    long min = (diff / (60 * 1000) - days * 24 * 60 - hour * 60);
    long s = (diff / (1000) - days * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
    String da = "相差" + days + "天" + hour + "时" + min + "分" + s + "秒";
    return da;
    }
    不管在哪里调用这个类就可以了