在Java中,可以使用java.time
包中的LocalDate
、LocalDateTime
等类来处理日期范围。以下是一个简单的示例,展示了如何使用DateTimeFormatter
解析和格式化日期范围:
import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; public class DateRangeExample { public static void main(String[] args) { // 日期格式 DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 起始日期和结束日期 LocalDate startDate = LocalDate.parse("2021-01-01", dateFormatter); LocalDate endDate = LocalDate.parse("2021-01-10", dateFormatter); // 计算日期范围内的天数 long daysBetween = ChronoUnit.DAYS.between(startDate, endDate); System.out.println("Days between: " + daysBetween); // 遍历日期范围并格式化每个日期 for (LocalDate date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) { String formattedDate = date.format(dateFormatter); System.out.println(formattedDate); } } }
在这个示例中,我们首先定义了一个日期格式yyyy-MM-dd
,然后解析了起始日期和结束日期。接下来,我们使用ChronoUnit.DAYS.between()
方法计算日期范围内的天数。最后,我们遍历日期范围并使用DateTimeFormatter
格式化每个日期。