首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

setLenient java计算两个日期其间的天数

2013-03-26 
setLenient java计算两个日期之间的天数import java.text.DateFormatimport java.text.SimpleDateFormat

setLenient java计算两个日期之间的天数
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.*;
import java.io.*;
class Test{
       
     public static void main(String args[])
     { 
        //开始日期
        String startdate = "";
       
        //终了日期
        String enddate = "";
       
        //相差天数
        String days = "";

        //实例化一个对象
        Test getDate = new Test();

        //输入开始日期
        System.out.println("请输入开始日期 : ");
       
        //读取开始日期
        startdate = getDate.ReadDate();
       
        //输入终了日期
        System.out.println("请输入终了日期: ");

        //读取终了日期
        enddate =  getDate.ReadDate();
       
        Calendar startcalendar = Calendar.getInstance();

        Calendar endcalendar =Calendar.getInstance();

        try{
       
          //转化成日期格式
          //Locale local = null ;
          //DateFormat dd = new SimpleDateFormat("yyyyMMdd",local); 抛出异常
            //DateFormat dd = null; 空指针异常
            DateFormat dd = new SimpleDateFormat("yyyyMMdd");
       dd.setLenient(false);
          //把输入的开始日期转化成日期格式
            Date date = dd.parse(startdate);
            startcalendar.setTime(date);
           
           //把输入的终了日期转化成日期格式
           endcalendar.setTime(dd.parse(enddate));
        }catch(Exception e)
         {
          //e.printStackTrace();
          System.out.println("您输入的日期格式不正确");
         }

        //计算出开始日期和结束日期之间相差几天 
        long longdays = getDate.daysBetween(startcalendar,endcalendar);
       
System.out.println("您输入的第一个日期是:"+startdate);
System.out.println("您输入的第二个日期是:"+enddate);
System.out.println("相差"+longdays+"天");

    
     }
   
    //读取开始日期和终了日期的方法
    public String ReadDate()
     { 
        //定义一个接受字符串
        String date="";
        //读取输入的字符串
     try{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
          date = in.readLine();
      
         }catch(IOException e){}

          return date.toString();
     }
   

    //计算出开始日期和结束日期之间相差几天的方法
    public static long daysBetween(Calendar startDate, Calendar endDate)
    {  
      long days=1;
        //求出相差的毫秒数
        days =startDate.getTimeInMillis() - endDate.getTimeInMillis();
        //把相差毫秒数转化为天数
        days = ((days/1000)/3600)/24;
       
        return days;
     
    
    }
    
   
}
    

热点排行