(1)时间戳、LocalDateTime、时间字符串的互转
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
ZoneId zone = ZoneId.of("Asia/Shanghai");
// 时间戳转LocalDateTime
LocalDateTime localDateTime1 = LocalDateTime.ofInstant(Instant.ofEpochMilli(1710209240000l), zone);
log.info("{}", localDateTime1);
// LocalDateTime转自定义时间格式的字符串
String localDateTimeStr = localDateTime1.format(formatter);
log.info("{}", localDateTimeStr);
// 自定义时间格式的字符串转LocalDateTime
LocalDateTime localDateTime2 = LocalDateTime.parse("20240303121212", formatter);
log.info("{}", localDateTime2);
// LocalDateTime转时间戳
long epochMilli = localDateTime2.atZone(zone).toInstant().toEpochMilli();
log.info("{}", epochMilli);
2024-03-12 10:24:59 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - 2024-03-12T10:07:20
2024-03-12 10:24:59 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - 20240312100720
2024-03-12 10:25:00 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - 2024-03-03T12:12:12
2024-03-12 10:25:00 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - 1709439132000
(2)Date、LocalDateTime的互转
ZoneId zone = ZoneId.of("Asia/Shanghai");
// Date转LocalDateTime
Date date1 = new Date();
log.info("{}", date1);
LocalDateTime localDateTime1 = LocalDateTime.ofInstant(date1.toInstant(), zone);
log.info("{}", localDateTime1);
// LocalDateTime转Date
LocalDateTime localDateTime2 = LocalDateTime.now();
Date date2 = Date.from(localDateTime2.atZone(zone).toInstant());
log.info("{}", date2);
2024-03-12 10:33:25 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - Tue Mar 12 10:33:25 CST 2024
2024-03-12 10:33:25 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - 2024-03-12T10:33:25.481
2024-03-12 10:33:25 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - Tue Mar 12 10:33:25 CST 2024
(3)日期校正
LocalDateTime localDateTime1 = LocalDateTime.now();
log.info("{}", localDateTime1);
LocalDateTime localDateTime2 = localDateTime1.plusDays(1);
log.info("{}", localDateTime2);
TemporalAdjuster TemporalAdjuster = TemporalAdjusters.firstDayOfMonth();
LocalDateTime localDateTime3 = localDateTime2.with(TemporalAdjuster);
log.info("{}", localDateTime3);
2024-03-12 10:49:19 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - 2024-03-12T10:49:19.825
2024-03-12 10:49:19 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - 2024-03-13T10:49:19.825
2024-03-12 10:49:19 [restartedMain] INFO cn.ac.trimps.stash.StashRunner - 2024-03-01T10:49:19.825