这里写自定义目录标题
java判断当前时间是否在对应时间段内
public static boolean isBetween(LocalDateTime beginTime, LocalDateTime endTime) {
//获取当前时间
LocalDateTime now = LocalDateTime.now();
boolean flag = false;
if (now.isAfter(beginTime) && now.isBefore(endTime)) {
flag = true;
}
return flag;
}
JAVA8 LocalDate和LocalDateTime使用
//获取当前日期
LocalDate localDate = LocalDate.now(); //输出 2022-08-24
//主动构造
LocalDate localDate1 = LocalDate.of(2022, 08,24); //输出 2022-08-24
//Date转LocalDate
Date date = new Date();
LocalDate dateToLocalDate = LocalDate.ofInstant(date.toInstant(), ZoneId.systemDefault()); //输出 2022-08-24
LocalDate localDate1 = LocalDate.of(2022, 08,01);
LocalDate localDate2 = LocalDate.of(2022, 08,02);
Period period = Period.between(localDate1, localDate2);
//这里请注意,如果日期小的在前面,下面的方法可能为负, 即用 第二个参数 - 第一个参数
System.out.println(period.getDays()); //1
System.out.println(period.getMonths()); //0
System.out.println(period.getYears()); //0
//为什么获取的日期差是0? LocalDate.toEpochDay(), 转换成纪元日期那?
LocalDate localDate1 = LocalDate.of(2022, 07,01); LocalDate localDate2 = LocalDate.of(2022, 08,01);
long minus = localDate2.toEpochDay() - localDate1.toEpochDay();
System.out.println(minus); //31
LocalDateTime获取到时分秒的方法
//当前日期时间
LocalDateTime localDateTime = LocalDateTime.now(); 2022-08-24
System.out.println("localDateTime:"+localDateTime); 2022-08-24 T15:55:44.307730
LocalDateTime dt = LocalDateTime.of(2022, 8, 24, 10, 50, 0);
LocalDateTime localDateTime1 = LocalDateTime.ofInstant(date.toInstant(),ZoneId.systemDefault());
计算时间差值:Duration
Duration duration = Duration.between(dt, localDateTime1);
System.out.println("间隔天数:"+duration.toDays());
System.out.println("间隔小时数:"+duration.toHours());
System.out.println("间隔分钟数:"+duration.toMinutes());
System.out.println("间隔秒数:"+duration.toSeconds());
LocalDateTime localDateTime1 = LocalDateTime.of(2022,8,17,23,0,0);
LocalDateTime localDateTime2 = LocalDateTime.of(2022, 8, 18, 10, 50, 0);
//17号和18号差一天的
Duration duration = Duration.between(localDateTime1, localDateTime2);
System.out.println("间隔天数:"+duration.toDays()); //0
System.out.println("间隔小时数:"+duration.toHours()); //11
System.out.println("间隔分钟数:"+duration.toMinutes()); //710
System.out.println("间隔秒数:"+duration.toSeconds());
这里Duration是绝对时间差值,是两个时间点相差的时间,2020-03-17 23:00:00 到 2020-03-18 10:50:00 相差11个小时,所以不够一天。 这个一定要注意区分。用LocalDate.toEpochDay相减,同一天的时间差值 用Duration