目录
1、生成20240605180212
格式的时间
String dateTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
2、Date类型转LocalDate类型
Date date = new Date();
Instant instant = date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDate localDate = instant.atZone(zoneId).toLocalDate();
3、LocalDate类型基本操作
// 创建LocalDate
LocalDate now = LocalDate.now(); // 2024-06-19
// 天数+1
LocalDate new_now = now.plusDays(1); // 2024-06-20
4、格式化日期格式
// JDK1.8 之前的日期格式化
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = dateFormat.format(new Date());
System.out.println(now); // 2024-06-20 00:00:00
// JDK1.8 之后的日期格式化
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
System.out.println(now.format(formatter)); // 2024-06-20 00:00:00
5、String 与 LocalDateTime 之间的转换
// String 转 LocalDateTime
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String now = "2024-06-25 00:00:00";
LocalDateTime parse = LocalDateTime.parse(now, formatter);
System.out.println(parse); // 2024-06-25T00:00
// LocalDateTime 转 String
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
String format = formatter.format(now);
System.out.println(format); // 2024-06-25 10:57:50
6、生成指定时间段内的时间列表
生成当前月份第一天到现在的时间列表
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate startDate = LocalDate.parse("2024-08-01", formatter);
LocalDate endtDate = LocalDate.parse("2024-08-15", formatter);
// 创建一个列表来保存月份中的每一天
List<LocalDate> daysInMonth = new ArrayList<>();
// 循环添加每一天到列表中
for (LocalDate day = startDate; !day.isAfter(endtDate); day = day.plusDays(1)) {
daysInMonth.add(day);
}
// 打印结果
for (LocalDate date : daysInMonth) {
System.out.println(date);
}