Java中如何对日期操作呢?
下文笔者讲述
1、生成指定字符串格式的时间 2、Date类型转LocalDate类型 3、LocalDate类型基本操作 4、格式化日期格式 5、String 与 LocalDateTime 之间的转换 6、生成指定时间段内的时间列表
转换为指定格式字符串
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(); // 2025-06-19 // 天数+1 LocalDate new_now = now.plusDays(1); // 2025-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); // 2025-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)); // 2025-06-20 00:00:00
5、String与LocalDateTime之间转换
// String 转 LocalDateTime
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String now = "2025-06-25 00:00:00";
LocalDateTime parse = LocalDateTime.parse(now, formatter);
System.out.println(parse); // 2025-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); // 2025-06-25 10:57:50
6、生成指定时间段内的时间列表
生成当前月份第一天到现在的时间列表
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate startDate = LocalDate.parse("2025-08-01", formatter);
LocalDate endtDate = LocalDate.parse("2025-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);
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


