好象有这样的方法。两个日期的相差。你可以用 jbuilder 的help 找找!

解决方案 »

  1.   

    可以使用Calendar取得两个日期相对月或年的序号,然后相减就得了两个日期相差多少天。
      

  2.   

    两个时间都是字符格式,完整的年、月、日、小时、分、秒、毫秒。
    相减后,如果毫秒大于0,就进位。这是我写的一段,你看一下是JAVASRIPT/**返回加上天数的日期对象。*/
    function getContrastDateWith(beginDate,addDay,type)
    {
    var MinMilli = 1000 * 60;
    var HrMilli = MinMilli * 60;
    var DyMilli = HrMilli * 24;
    var oldDay=Math.round(beginDate.getTime() / DyMilli);
    var ContrastDate=new Date();
    if (type==1)//增加日期
    {
    ContrastDate.setTime((parseInt(oldDay)+parseInt(addDay))*DyMilli);
    }
    else
    {
    ContrastDate.setTime((parseInt(oldDay)-parseInt(addDay))*DyMilli);
    }
    return ContrastDate;
    }/**差别天数。*/
    function getContrastDay(firstDate,secondDate)
    {
       var MinMilli = 1000 * 60;
       var HrMilli = MinMilli * 60;
       var DyMilli = HrMilli * 24;
       return (Math.round(secondDate.getTime() / DyMilli)-Math.round(firstDate.getTime() / DyMilli));
    }function returnDateObj(dateStr)
    {
    var obj; obj = new Date(dateStr.substring(0,4),(parseInt(dateStr.substring(5,7))-1),dateStr.substring(8,10));                           // 创建 Date 对象。
    return obj;
    }
    =====================================================================================
    String dateStr1 = "2003-12-23 14:14:15.456";
    String dateStr2 = "2003-12-23 14:15:25.789";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");Date date1 = sdf.parse(dateStr1);
    Date date2 = sdf.parse(dateStr2);long result = date2.getTime() - date1.getTime(); //时间差(毫秒)System.out.println(result); //毫秒
    System.out.println((result + 500) / 1000); //秒
    =====================================================================================
    String dateStr1 = "2003-12-23 14:14:15.456";
    String dateStr2 = "2003-12-23 14:15:25.789";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");Date date1 = sdf.parse(dateStr1);
    Date date2 = sdf.parse(dateStr2);long result = date2.getTime() - date1.getTime(); //时间差(毫秒)System.out.println(result); //毫秒
    System.out.println((result + 500) / 1000); //秒