因为做秒杀模块,需要实现一个时间区间的功能,计算出最近比如
2021-05-06 00:00:00 2021-05-08 23:59:59
一开始想到了new Date();得到的格式是yyyy-MM-dd HH:mm:ss,多加一天或几天,需要对dd操作
Date date = new Date();//2021-05-06 19:04:23
可以使用LocalDate类,通过调用plusDays()方法可以实现天数的增加
@Test public void contextLoads(){ //2021-05-06 00:00:00 2021-05-08 23:59:59 LocalDate now = LocalDate.now(); LocalDate plus = now.plusDays(1); LocalDate plus2 = now.plusDays(2); System.out.println(now); System.out.println(plus); System.out.println(plus2); }
得到结果:没有了时分秒
我们再来看一下如何输入时分秒,可以使用LocalTime类
@Test public void contextLoads(){ LocalTime min = LocalTime.MIN; LocalTime max = LocalTime.MAX; System.out.println(max); System.out.println(min); }
结果:
最后做个拼串就好了
@Test public void contextLoads(){ //2021-05-05 00:00:00 2021-05-05 23:59:59 LocalDate now = LocalDate.now(); LocalDate plus = now.plusDays(1); LocalDate plus2 = now.plusDays(2); // System.out.println(now);//2021-05-05 // System.out.println(plus);//2021-05-06 // System.out.println(plus2);//2021-05-07 LocalTime min = LocalTime.MIN; LocalTime max = LocalTime.MAX; // System.out.println(max);//23:59:59.999999999 // System.out.println(min);//00:00 LocalDateTime start = LocalDateTime.of(now, min); LocalDateTime end = LocalDateTime.of(plus2, max); System.out.println(start); System.out.println(end); }
最后结果是
格式替换一下
String startFormat = start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String endFormat = end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(startFormat);
System.out.println(endFormat);
输出结果:
两个字:舒适
原文:https://www.cnblogs.com/damon-dhc/p/14733565.html