时间工具类的使用
LocalDate、LocalTime、LocalDateTime介绍
LocalDate、LocalTime、LocalDateTime是java8对日期、时间提供的新接口。实际使用中,计算日期就用LocalDate,计算日期加时刻用LocalDateTime,如果只有时刻就是LocalTime。
其中获取当前时间 .now方法 获取的格式不同
LocalDateTime使用
1.使用LocalDateTime获取当前时间的毫秒值
Long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
2.LocalDateTime与String互转(包含毫秒)
String timeVal = "2021-12-28 15:15:13.951";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
LocalDateTime parsedDate = LocalDateTime.parse(timeVal, formatter);
long milli = parsedDate.toInstant(ZoneOffset.of("+8")).toEpochMilli();
3.Date转为LocalDateTime
Date date = new Date();
LocalDateTime localDateTime = date.toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
4.LocalDateTime转为Date
LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.toInstant(ZoneOffset.of("+8")));
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
将返回前端的格式修改为指定格式 实体的属性需要是时间类型才能生效
获取前一天最小时间和后一天最大时间
String minTime = LocalDateTime.now().minusDays(1).with(LocalTime.MIN).format(DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss"));
String maxTime = LocalDateTime.now().plusDays(1).with(LocalTime.MAX).format(DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss"));
String format = "YYYY-MM";
String currentMonth = LocalDate.now().format(DateTimeFormatter.ofPattern(format));