Fork me on GitHub

java计算两个日期之间相隔的天数

  

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Calendar;
 4 import java.util.Date;
 5 
 6 
 7 public class date {
 8 
 9     /**
10      * @param args
11      * @throws ParseException 
12      */
13     public static void main(String[] args) throws ParseException {
14         // TODO Auto-generated method stub
15         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
16         Date d1=sdf.parse("2012-09-08 10:10:10");
17         Date d2=sdf.parse("2012-09-15 00:00:00");
18         System.out.println(daysBetween(d1,d2));
19 
20         System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00"));
21     }
22     
23     /** 
24      * 计算两个日期之间相差的天数 
25      * @param smdate 较小的时间
26      * @param bdate  较大的时间
27      * @return 相差天数
28      * @throws ParseException 
29      */  
30     public static int daysBetween(Date smdate,Date bdate) throws ParseException  
31     {  
32         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
33         smdate=sdf.parse(sdf.format(smdate));
34         bdate=sdf.parse(sdf.format(bdate));
35         Calendar cal = Calendar.getInstance();  
36         cal.setTime(smdate);  
37         long time1 = cal.getTimeInMillis();               
38         cal.setTime(bdate);  
39         long time2 = cal.getTimeInMillis();       
40         long between_days=(time2-time1)/(1000*3600*24);
41           
42        return Integer.parseInt(String.valueOf(between_days));         
43     }  
44     
45 /**
46 *字符串的日期格式的计算
47 */
48     public static int daysBetween(String smdate,String bdate) throws ParseException{
49         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
50         Calendar cal = Calendar.getInstance();  
51         cal.setTime(sdf.parse(smdate));  
52         long time1 = cal.getTimeInMillis();               
53         cal.setTime(sdf.parse(bdate));  
54         long time2 = cal.getTimeInMillis();       
55         long between_days=(time2-time1)/(1000*3600*24);
56           
57        return Integer.parseInt(String.valueOf(between_days));   
58     }
59 
60 }

 

posted @ 2015-10-14 21:04  ZZZZW  阅读(1993)  评论(0编辑  收藏  举报
AmazingCounters.com