一、算出日期的天数
(推荐教程:java入门教程)
代码实现:
public static void main(String[] args) throws Exception { String inTime="2020-6-20 11:30:00";//入住时间 String outTime="2020-6-25 15:40:00";//退房时间 //1.先算 年月日 的天数 SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd");//年月日 Date inDate=sdf1.parse(inTime);//获取入住时间的年月日 Date outDate=sdf1.parse(outTime);//获取退房时间的年月日 Calendar c1=Calendar.getInstance(); c1.setTime(inDate);//把获取的入住时间年月日放入Calendar中 Calendar c2=Calendar.getInstance(); c2.setTime(outDate);//把获取的退房时间年月日放入Calendar中 //算出天数 int days = c2.get(Calendar.DAY_OF_YEAR) - c1.get(Calendar.DAY_OF_YEAR);// System.out.println("天数是:"+days); }
二、算出时分秒的时间差=天数
(视频教程推荐:java视频教程)
代码实现:
public static void main(String[] args) throws Exception { String inTime="2020-6-20 11:30:00";//入住时间 String outTime="2020-6-25 15:40:00";//退房时间 //1.先算 年月日 的天数 SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd");//年月日 Date inDate=sdf1.parse(inTime);//获取入住时间的年月日 Date outDate=sdf1.parse(outTime);//获取退房时间的年月日 Calendar c1=Calendar.getInstance(); c1.setTime(inDate);//把获取的入住时间年月日放入Calendar中 Calendar c2=Calendar.getInstance(); c2.setTime(outDate);//把获取的退房时间年月日放入Calendar中 //算出 int days = c2.get(Calendar.DAY_OF_YEAR) - c1.get(Calendar.DAY_OF_YEAR);// System.out.println("天数是:"+days); //2.算出时分秒再++ //算出退房时间是否小12:00:00的时间差 如果大于12:00:00 天数就++ SimpleDateFormat sdf2=new SimpleDateFormat("HH:mm:ss");//时分秒 long time1=sdf2.parse(outTime.split("\\ ")[1]).getTime();//获取退房时分秒 注意 split("\\ ")要有空格 long time2=sdf2.parse("12:00:00").getTime();//固定12:00:00 long timecha= time1-time2; if(timecha>0){ days++; } System.out.println("总天数:"+days); }
The above is the detailed content of How to calculate the number of days by calculating the time difference between two dates in Java. For more information, please follow other related articles on the PHP Chinese website!