d1.getTime()-d2.getTime(),可以得到二者相差的miliseconds,然后自己去算一下几年几月零几天就ok了。

解决方案 »

  1.   

    package org.ilog.jsp;/**
     * <p>Title: Haley's Project</p>
     * <p>Description: Haley's Project</p>
     * <p>Copyright: Copyright (c) 2003</p>
     * <p>Company: ilog</p>
     * @author Haley
     * @version 1.0
     * @date 2003-09-25
     */import java.util.*;
    import java.text.*;public class formatDate {  public formatDate() {
      }  // 格式化日期为字符串 "yyyy-MM-dd hh:mm"
      public String formatDateTime(Date basicDate,String strFormat) {
        SimpleDateFormat df = new SimpleDateFormat(strFormat);
        return df.format(basicDate);
      }  // 格式化日期为字符串 "yyyy-MM-dd hh:mm"
      public String formatDateTime(String basicDate,String strFormat) {
        SimpleDateFormat df = new SimpleDateFormat(strFormat);
        Date tmpDate=null;
        try {
          tmpDate=df.parse(basicDate);
        }
        catch(Exception e) {
          // 日期型字符串格式错误
        }
        return df.format(tmpDate);
      }  // 当前日期加减n天后的日期,返回String (yyyy-mm-dd)
      public String nDaysAftertoday(int n) {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Calendar rightNow = Calendar.getInstance();
        //rightNow.add(Calendar.DAY_OF_MONTH,-1);
        rightNow.add(Calendar.DAY_OF_MONTH,+n);
        return df.format(rightNow.getTime());
      }  // 当前日期加减n天后的日期,返回String (yyyy-mm-dd)
      public Date nDaysAfterNowDate(int n) {
        Calendar rightNow = Calendar.getInstance();
        //rightNow.add(Calendar.DAY_OF_MONTH,-1);
        rightNow.add(Calendar.DAY_OF_MONTH,+n);
        return rightNow.getTime();
      }  // 给定一个日期型字符串,返回加减n天后的日期型字符串
      public String nDaysAfterOneDateString(String basicDate,int n) {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date tmpDate = null;
        try {
          tmpDate = df.parse(basicDate);
        }
        catch(Exception e){
          // 日期型字符串格式错误
        }
        long nDay=(tmpDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000);
        tmpDate.setTime(nDay);    return df.format(tmpDate);
      }  // 给定一个日期,返回加减n天后的日期
      public Date nDaysAfterOneDate(Date basicDate,int n) {
        long nDay=(basicDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000);
        basicDate.setTime(nDay);    return basicDate;
      }  // 计算两个日期相隔的天数
      public int nDaysBetweenTwoDate(Date firstDate,Date secondDate) {
        int nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000));
        return nDay;
      }  // 计算两个日期相隔的天数
      public int nDaysBetweenTwoDate(String firstString,String secondString) {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date firstDate=null;
        Date secondDate=null;
        try {
          firstDate = df.parse(firstString);
          secondDate=df.parse(secondString);
        }
        catch(Exception e) {
          // 日期型字符串格式错误
        }    int nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000));
        return nDay;
      }}
      

  2.   

    java.util.Calender应该可以帮助你
    具体怎么使用你去看APT啦 ho
      

  3.   

    用getTime()得到毫秒,然后出一下啊!