在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
格式化每个日期。