1.java中使用compareTo比较两个日期大小
String startStr = "2021-05-20 12:05:20";
String endStr = "2021-05-21 12:05:20";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = df.parse(startStr );
Date date2 = df.parse(endStr );
date1.compareTo(date2)
date1.compareTo(date2) == 0
日期date1 和date2相等
date1.compareTo(date2) >0
date1晚于date2
date1.compareTo(date2) < 0
date1早于date2
2.也可以使用before比较日期
Calender startCal = new GregorianCalendar();
Calender endCal = new GregorianCalendar();
startCal.setTime(date1);
endCal .setTime(date1);
startCal.getTime().before(endCal .getTime());(返回值是true和false)
3.自行拼接日期并用使用df.parse()格式化时间注意事项
由于df.parse()格式化时间是使用固定的时间格式
日期+时分秒之间的" "(空格)不可缺少否则格式化时间不对
正确格式:df.parse(StartStr.subString(0,10)+" "+"08:30:30").getTime();
4.SimpleDateFormat选择的格式不同,格式化后的日期格式不同
SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd"); -----》只有日期2021-06-01
SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -----》时间格式 2021-06-01 20:24:31
5.使用Calender获取日期是星期几
int week = startCal.get(Calender .DAY_OF_WEEK);
6.使用Calender实现日期加一
startCal.add(Calender .DAY_OF_MONTH, 1);
(百度的cal1.add(Calendar.DATE,1)就可以实现日期+1但我使用不生效)