import java.util.Calendar;
import java.util.GregorianCalendar;
public class AA {

  public static void main(String[] args)  
{
        if(args!=null && args.length>0) 
        {
         String dateArray[] = args[0].split(",");
          
              Calendar calendar = new GregorianCalendar(); 
              Calendar calendar1 = new GregorianCalendar(); 
           
               
         calendar.set(Integer.parseInt(dateArray[0]),
           Integer.parseInt(dateArray[1]),
          Integer.parseInt(dateArray[2]));
          long time1=calendar.getTimeInMillis();
          calendar1.set(Integer.parseInt(dateArray[3]),
           Integer.parseInt(dateArray[4]), 
            Integer.parseInt(dateArray[5])); 
          long time2=calendar1.getTimeInMillis();   
          long 相隔天数=(time2-time1)/(1000*60*60*24);
          System.out.println(相隔天数);
          }  
            }
        }

程序功能:
键盘输入两个时间,如:1987,4,5 1998,8,7 求出相隔的天数

解决方案 »

  1.   

     两个日期之间相隔天数。
    参数: 开始日期
             终了日期
    返回: 间隔天数 /**
         * 两个日期之间相隔天数的共通
         * @param from 開始時間
         * @param to 終了時間
         * @return 天数
         */
        public static String getDaysBetweenTwoDates(String dateFrom, String dateEnd) {
            Date dtFrom = null;
            Date dtEnd = null;
            dtFrom = toDate(dateFrom, "yyyyMMdd");
            dtEnd = toDate(dateEnd, "yyyyMMdd");
            long begin = dtFrom.getTime();
            long end = dtEnd.getTime();
            long inter = end - begin;
            if (inter < 0) {
                inter = inter * (-1);
            }
            long dateMillSec = 24 * 60 * 60 * 1000;
           
            long dateCnt =  inter / dateMillSec;
           
            long remainder = inter % dateMillSec;
           
            if (remainder != 0) {
                dateCnt++;
            }
            return String.valueOf(dateCnt);
        }
        /**
         * 字符窜(yyyyMMdd)转换成为java.util.Date
         *
         * @param sDate 字符窜(yyyyMMdd)
         * @param sFmt format
         * @return Date java.util.Date日期
         */
        public static Date toDate(String sDate, String sFmt) {
            Date dt = null;
            try {
                dt = new SimpleDateFormat(sFmt).parse(sDate);
            } catch (ParseException e) {
                return dt;
            }
            return dt;
        }
      

  2.   


    import java.util.Calendar; 
    import java.util.GregorianCalendar;
    public class Test { 
      public static void main(String[] args) {
            if(args!=null && args.length==2) { 
             String dateArray1[] = args[0].split(",");
             String dateArray2[] = args[1].split(",");
             Calendar calendar2 = new GregorianCalendar(); 
             Calendar calendar1 = new GregorianCalendar(); 
              
              calendar1.set(Integer.parseInt(dateArray1[0]), Integer.parseInt(dateArray1[1]), Integer.parseInt(dateArray1[2])); 
              long time1=calendar1.getTimeInMillis(); 
             
              calendar2.set(Integer.parseInt(dateArray2[0]), Integer.parseInt(dateArray2[1]), Integer.parseInt(dateArray2[2])); 
             long time2=calendar2.getTimeInMillis();  
              
              long day=(time2-time1)/(1000*60*60*24); 
              System.out.println("相隔天数:" + day); 
            }  

      

  3.   


    F:\javatest>java Test 1987,4,5 1987,6,5
    相隔天数:61
    结帖结分!!!