使用Calendar类,具体用法见文档

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1065/1065610.xml?temp=.5956079
      

  2.   

    用DATE类的GETTIME方法可以得到某一时间到1970年1月1日的毫秒数
    所以你想计算A到B有多少天
    就分别以A,B作为参数
    结果相减
    得到的是两个时刻的时间差(单位是毫秒)
    再除以1000/60/60/24
    就是天数
      

  3.   

    /**
         * 日前後の日付取得.
         * @引数   String sDte 日付
         *             String lKknDay 日
         * @戻り値  String  "error"
         * @exception Exception
         */     public String GetDifDay(String sDte,long lKknDay) {        int iYear;             //年
            int iMth;              //月
            int iDay;             //日
            int iSysFstYear;  //開始年
            int iSysLstYear;  //終了年
            long lDay;
            String sDay  = new String();
            String sYear = new String();
            String sMth  = new String();
            //開始年
            iSysFstYear=Integer.parseInt(strSysFstYear);
            //終了年
            iSysLstYear=Integer.parseInt(strSysLstYear);
            //年
            sYear = sDte.substring(0,4);
            //月
            sMth  = sDte.substring(4,6);
            //日
            sDay  = sDte.substring(6,8);
            //年
            iYear = Integer.parseInt(sYear);
            //月
            iMth  = Integer.parseInt(sMth);
            //日
            iDay  = Integer.parseInt(sDay);        GregorianCalendar gCal=new GregorianCalendar();        try {
                gCal.set(iYear,iMth-1,iDay);
                gCal.add(gCal.DATE,(int)lKknDay);            sMth = gCal.get(gCal.MONTH)+"";
                iMth = Integer.parseInt(sMth);
                iMth = iMth + 1;
                sMth = String.valueOf(iMth);
                if (sMth.length()==1) {
                    sMth="0"+sMth;
                }
                sDay=gCal.get(gCal.DATE)+"";
                if (sDay.length()==1) {
                    sDay="0"+ gCal.get(gCal.DATE)+"";
                }
                return gCal.get(gCal.YEAR)+""+sMth+sDay;
            } catch(Exception e) {
                return "error";
            }
        }
      

  4.   

    //Date in String like "20011205".
    //String strDate1, strDate2;SimpleDateFormat format = new SimpleDateFormat(yyyyMMdd);
    Date d1 = format.parse(strDate1);
    Date d2 = format.parse(strDate2);
    int diffDay = (d2.getTime() - d1.getTime())/1000//3600/24;
      

  5.   

    int days = (calendar2.getTimeInMillis()-calendar1.getTimeInMillis())/1000/60/60/24;
      

  6.   

    没有看我写的code吗?里面用到SimpleDateFormat.如果有问题,Exception will be thrown.
      

  7.   

    我用你的SimpleDateFormat,我输入diffDay(20011205,20021203)但是有异常抛出何故。
      

  8.   

    public static void main(String args[])
        throws Exception
        {
            System.out.println(diffDay("20011114", "20011124"));
        }    private static int diffDay(String strDate1, String strDate2)
        throws ParseException
        {
            SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
            Date d1 = format.parse(strDate1);
            Date d2 = format.parse(strDate2);
            return (int)((d2.getTime() - d1.getTime())/1000/3600/24);
        }
      

  9.   

    以前在bcb里有这样的类,可以知道某一日期距1900年1月1日的时间,可按callwa(蜜蜂宝宝)的方法做嘛!不知道java中有没有,如果没有可以自己写一个这样的类嘛,只不过要搞清楚润年等的计算方法了!