String a="2008-03-05";
String b="2008-03-10";
如何算出a,b这两个日期相差几天啊。谢谢了

解决方案 »

  1.   

    连接oracle
    select floor(to_date('2008-03-05','yyyy-mm-dd')-to_date('2008-03-10','yyyy-mm-dd')) from dual;java,转成时间型,不会
    datasimplefamate??
      

  2.   

    先把String转成时间,网上有很多的strToDate的方法,可以去找,这里不写了。
    再用date.getTime()方法,此方法返回距离1970.1.1 00:00:00的毫秒数。用这个数除以(24*60*60*1000)可以转化成天数。
      

  3.   

    java.sql.Date d1 = java.sql.Date.valueOf(a);
    java.sql.Date d2 = java.sql.Date.valueOf(b);
    long d = d2.getTime() - d1.getTime();其中d就是你要的差值,以毫微秒为单位。
      

  4.   


    Calendar c1 = new GregorianCalendar();
            Calendar c2 = new GregorianCalendar();
            try {
                c1.setTime(new SimpleDateFormat("yyyy-mm-dd").parse("2008-03-05"));
                c2.setTime(new SimpleDateFormat("yyyy-mm-dd").parse("2008-03-10"));
            } catch (ParseException e) {
                // TODO 自動生成された catch ブロック
                e.printStackTrace();
            }
            int i = c2.get(Calendar.DAY_OF_YEAR) - c1.get(Calendar.DAY_OF_YEAR);
            System.out.println(i);