计算两个日期之间相差几天(Date类型与String类型互相转换)

Posted 格物致知

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算两个日期之间相差几天(Date类型与String类型互相转换)相关的知识,希望对你有一定的参考价值。

一:计算两个日期之间相差几天

 1 /**
 2  * 
 3  */
 4 package com.hlcui.date;
 5 
 6 import java.text.ParseException;
 7 import java.text.SimpleDateFormat;
 8 import java.util.Calendar;
 9 import java.util.Date;
10 
11 import org.junit.Test;
12 
13 /**
14  * @author Administrator
15  * 
16  */
17 public class DateTest {
18 
19     @Test
20     public void testBetweenDays() throws ParseException {
21         int days = betweenDays("20160102", "20160303");
22         System.out.println(days);
23     }
24 
25     /**
26      * 计算两个日期相差的天数
27      * 
28      * @throws ParseException
29      */
30     public int betweenDays(String oldDate, String newDate)
31             throws ParseException {
32         Calendar cal = Calendar.getInstance();
33         cal.setTime(stringToDate(oldDate));
34         long oldTime = cal.getTimeInMillis();
35         cal.setTime(stringToDate(newDate));
36         long newTime = cal.getTimeInMillis();
37         return (int) ((newTime - oldTime) / (1000 * 24 * 3600));
38     }
39 
40     /**
41      * String转换为Date
42      * 
43      * @throws ParseException
44      */
45     public Date stringToDate(String date) throws ParseException {
46         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
47         return sdf.parse(date);
48     }
49 
50     /**
51      * Date转换为String
52      */
53     public String dateToString(Date date) {
54         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
55         return sdf.format(date);
56     }
57 }

1:SimpleDateFormat类是一个格式化类,可以实现String类和Date之间的转换。
Format(Date):Date转为String类型,Parse(String):String类型转为Date类型。

2:Calendar.getInstance():可以通过Calendar的静态方法getInstance()获取Calendar对象。

3:Calendar.setTime(Date):设置日期   Calendar.getTime():获取1970年1月1日至今的毫秒数

 

以上是关于计算两个日期之间相差几天(Date类型与String类型互相转换)的主要内容,如果未能解决你的问题,请参考以下文章

如何用EXCEL计算两个日期之间相差的年数和月数?

如何用EXCEL计算两个日期之间相差的年数和月数?

Java计算两个日期时间相差几天,几小时,几分钟等

Java计算两个日期时间相差几天,几小时,几分钟等

java怎样计算两个日期之间的秒数

js计算两个日期相差的天数