使用JDK8中的LocalDate获取日期区间
1.背景
前台传来“2021-07-08”的字符串,后台根据这个字符串获取到这一天的时间区间:“2021-07-08 00:00:00”和“2021-07-08 23:59:59”。
2.代码示例
1.low的方式
private final String CONSTANT_START = "T00:00:00";
private final String CONSTANT_END = "T23:59:59";
private final String CONSTANT_FORMAT = "yyyy-MM-dd HH:mm:ss";
。。。
String date = "2021-07-08";
String start = date + CONSTANT_START;
String end = date + CONSTANT_END;
2.优雅的方式
String date3 = "2021-07-09";
LocalDate localDate = LocalDate.parse(date3, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
// 具体加不加“T”是根据业务来的,看第三方接口需不需要。
String start3 = LocalDateTime.of(localDate, LocalTime.MIN).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"));
String end3 = LocalDateTime.of(localDate, LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"));
System.out.println(start3);
System.out.println(end3);
输出结果:
2021-07-09T00:00:00
2021-07-09T23:59:59