一、算出日期的天數(shù)
(推薦教程:java入門教程)
代碼實現(xiàn):
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.先算 年月日 的天數(shù) 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中 //算出天數(shù) int days = c2.get(Calendar.DAY_OF_YEAR) - c1.get(Calendar.DAY_OF_YEAR);// System.out.println("天數(shù)是:"+days); }
二、算出時分秒的時間差=天數(shù)
(視頻教程推薦:java視頻教程)
代碼實現(xiàn):
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.先算 年月日 的天數(shù) 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("天數(shù)是:"+days); //2.算出時分秒再++ //算出退房時間是否小12:00:00的時間差 如果大于12:00:00 天數(shù)就++ 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("總天數(shù):"+days); }