import java.util.*;
import java.text.SimpleDateFormat;
import javax.swing.*;
public class DateTest{
public int getDate(String beginDate,String endDate) throws Exception{
SimpleDateFormat sim=new SimpleDateFormat("yyyy-mm-dd");
Date d1=sim.parse(beginDate);
Date d2=sim.parse(endDate);return (int)((d2.getTime()-d1.getTime())/(3600L*1000*24));
}
public static void main (String[] args) throws Exception{
String day1=JOptionPane.showInputDialog("请输入日期,例1990-10-10"); 
String day2=JOptionPane.showInputDialog("请输入第二个日期,例1990-10-10"); DateTest test=new DateTest();
System.out.println (test.getDate(day1,day2));
}
}可以计算出同一个月内的两个日期之间的天数,但是跨月(像2009-10-1和2009-11-1)就不行了,麻烦各位指出下错误,谢谢了~

解决方案 »

  1.   

    import java.util.*; 
    import java.text.*; public class DisplayDateEveryday { 
        public static void main(String args[]){ 
             
            display("2008-08-08", "2008-09-24"); 
             
        } 
         
        public static void display(String dateFirst, String dateSecond){ 
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
             
            try{ 
                Date dateOne = dateFormat.parse(dateFirst); 
                Date dateTwo = dateFormat.parse(dateSecond); 
                 
                Calendar calendar = Calendar.getInstance(); 
                 
                calendar.setTime(dateOne); 
                 
                while(calendar.getTime().before(dateTwo)){               
                    System.out.println(dateFormat.format(calendar.getTime())); 
                     
                    calendar.add(Calendar.DAY_OF_MONTH, 1);              
                } 
            } 
            catch(Exception e){ 
                e.printStackTrace(); 
            } 
             
        } 
    }
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/justinavril/archive/2008/09/06/2891266.aspx
      

  2.   

    SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd"); Use the right format string!
      

  3.   

    public getDate(Date date){
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    retrun calendar.getTime();
    )((getDate(endDate).getTime() - getDate(beginDate).getTime()) / 1000 / 3600 / 24) + 1;
      

  4.   

    试试,其中comparisonDay是"yyyy-MM-dd"形式的日期字符串
    public static long compareDays(String comparisonDay)throws ParseException
    {
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date cal = new Date();// 当前日期
    Date comparison=simpleDateFormat.parse(comparisonDay);
    long days=(cal.getTime()-comparison.getTime())/(24*60*60*1000);
    return days;
    }
      

  5.   

    真的啊,用Calendar类,再count++就出来了,谢谢楼上各位朋友的帮忙提点,谢谢咯~~