
- 1、编写计算方法
- 2、调用测试
- 3、运行结果
- 新建一个方法,并传入两个Date类型的时间;
- 使用Calendar类处理日期;
- DAY_OF_YEAR表示这一天是这个年的第多少天,该处只能计算某一年的时间范围天数;
- 计算时分秒,不足一天按一天处理。
public static int getDaysNum(Date day1, Date day2) throws Exception{
//format()方法将Date转换为String
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String beginTime = sdf.format(day1);
String endTime = sdf.format(day2);
//Calendar类处理日期
Calendar c1 = Calendar.getInstance();
c1.setTime(day1);
Calendar c2 = Calendar.getInstance();
c2.setTime(day2);
//计算年月日
int days = c2.get(Calendar.DAY_OF_YEAR) - c1.get(Calendar.DAY_OF_YEAR);
System.out.println("天数,计算年月日:"+days);
//计算时分秒
SimpleDateFormat sdf1= new SimpleDateFormat("HH:mm:ss");
long bTime = sdf1.parse(beginTime.split("\ ")[1]).getTime();//开始时间时分秒
long eTime = sdf1.parse(endTime.split("\ ")[1]).getTime();//结束时间时分秒
long resultTime = eTime - bTime;
if(resultTime > 0) {
days++;
}
System.out.println("天数,计算时分秒,不足一天按一天处理:" + days);
return days;
}
2、调用测试
- try/catch处理异常;
- 设置参数,调用方法。
public static void main(String[] args){
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date begin = null;
Date end = null;
try {
//String转Date
begin = dateFormat.parse("2021-11-08 12:22:22");
end = dateFormat.parse("2021-11-11 13:22:22");
//调用方法
getDaysNum(begin,end);
} catch (Exception e) {
e.printStackTrace();
}
}
3、运行结果
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)