需要用到的前置知识:SimpleDateFormat类
思路
这本来是一个上述文章里的一个简单的小练习,考虑了下还是决定将这个问题再单独放出来。
Java中有丰富的时间日期相关的API,利用好这些API要获取两个日期间的天数并不是一件难事。
主要思想是以字符串格式输入日期,再通过SimpleDateFormat将日期解析为Date类对象,通过Date
类计算毫秒差,再转换为天数即可。
代码
@Test
public void getDays() throws ParseException {
// 起始日期与结束日期
String start = "1990-09-23";
String end = "2020-07-01";
// 按格式构造
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = simpleDateFormat.parse(start);
Date endDate = simpleDateFormat.parse(end);
// 转化毫秒为天数
int days = (int)((endDate.getTime()-startDate.getTime())/(1000*60*60*24)+1);
}