不晓得csdn为什么要把我这篇文章要删掉。那我就再写一篇罗.. 问题说明: 求任意两个日期之间相隔多少天 问题分析:可以把每个日期都转换为相应多少天,然后,再求它们的差。此处以它们与1年1月1日为基点。 示例代码: import java.text.*; import java.util.*; public class Work090100{ public static void main(String[] args) throws ParseException{ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date d1 = sdf.parse("2009-9-2"); Date d2 = sdf.parse("2009-8-2"); System.out.println("相差:" + (getDays(d1) - getDays(d2))); } public static int getDays(Date d) { Calendar c = Calendar.getInstance(); c.setTime(d); int dDay = c.get(Calendar.DATE); int dYear = c.get(Calendar.YEAR); int dMonth = c.get(Calendar.MONTH) + 1; //注意month是从0开始计的我们加1 int days=0; int[] months={0,31,28,31,30,31,30,31,31,30,31,30,31}; if(dYear%400==0||dYear%4==0&&dYear%100!=0){ months[2]=29; } days=(dYear-1)*365+(dYear-1)/4-(dYear-1)/100+(dYear-1)/400; for(int i=1;i<dMonth;i++){ days+=months[i]; } days+=dDay; return days; } }