两个数据库字段类型为DATE 
在JSP中,我想计算这两个日期的天数差,怎么计算?
如:2005-12-11和 2005-12-31 
就这两个值的差为多少,怎么计算的

解决方案 »

  1.   

    SQL>   select   to_date('20051209','yyyymmdd')   -   to_date('20050908','yyyymmdd')   result   from   dual;   
        
              RESULT   
      ----------   
                      92 
      

  2.   

    date类型的直接减,得到的就是天数
      

  3.   

    不是数据库里面的,是JAVA类中怎么写的
      

  4.   

    int day2=cal.get(Calendar.DAY_OF_YEAR);
    int day1=cal.get(Calendar.DAY_OF_YEAR);
    int days=day2-day1;
    还是直接相减
      

  5.   

    import java.text.ParseException; 
    import java.text.SimpleDateFormat; 
    import java.util.Date; class Test2 { 
    public static String getDate(){ 
    SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd"); 
    Date dd = new Date(); 
    return ft.format(dd); 

    public static long getQuot(String time1, String time2){ 
    long quot = 0; 
    SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd"); 
    try { 
    Date date1 = ft.parse( time1 ); 
    Date date2 = ft.parse( time2 ); 
    quot = date1.getTime() - date2.getTime(); 
    quot = quot / 1000 / 60 / 60 / 24; 
    } catch (ParseException e) { 
    e.printStackTrace(); 

    return quot; 

    public static void main(String[] args) throws Exception { 
    String date1 = "2008/8/8"; 
    String date2 = getDate(); 
    long day = getQuot(date1,date2); 
    System.out.println( "距离 "+date1+" 还有 "+day+" 天" ); 

    } Date的getTime()方法返回自1970年1月1日午夜(通用时间)以来的毫秒数。 
    用2008/8/8的getTime()减去今天的getTime()就是这两天相差的毫秒数,1秒=1000毫秒,1分钟=60秒,1小时=60分钟,1天=24小时,然后除除除就得到天数了。