package learn;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
public class time2 {
//格式化时间和日期的格式
static DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
static DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm");
// 获取某个时间范围内的所有日期
public static List getAllDatesBetween(String startDate, String endDate) {
LocalDate start = LocalDate.parse(startDate, DATE_FORMATTER);
LocalDate end = LocalDate.parse(endDate, DATE_FORMATTER);
List dateList = new ArrayList<>();
while (!start.isAfter(end)) {
dateList.add(start.format(DATE_FORMATTER));
start = start.plusDays(1);
}
return dateList;
}
// 获取所有的时段
public static List getAllTimeSlots() {
List timeSlotList = new ArrayList<>();
for (int i = 0; i < 24; i++) {
LocalTime startTime = LocalTime.of(i, 0);
LocalTime endTime = LocalTime.of(i, 59);
timeSlotList.add(startTime.format(TIME_FORMATTER) + " - " + endTime.format(TIME_FORMATTER));
}
return timeSlotList;
}
// 判断当前时间属于哪个时段
public static String getCurrentTimeSlot() {
LocalTime CurrentTime = LocalTime.now();
for (int i = 0; i < 24; i++) {
LocalTime startTime = LocalTime.of(i, 0);
LocalTime endTime = LocalTime.of(i, 59);
if (CurrentTime.isAfter(startTime) && CurrentTime.isBefore(endTime)) {
return startTime.format(TIME_FORMATTER) + " - " + endTime.format(TIME_FORMATTER);
}
}
return "未知时段";
}
public static void main(String[] args) {
// 在这里输入想要查看哪个时间段的所有日期
String startDate = "2023-12-20";
String endDate = "2023-12-30";
System.out.println("所有日期:");
List allDates = getAllDatesBetween(startDate, endDate);
allDates.forEach(date -> System.out.println(date));
System.out.println("\n所有时段:");
List allTimeSlots = getAllTimeSlots();
allTimeSlots.forEach(System.out::println);
System.out.println("\n当前时段:");
String currentTimeSlot = getCurrentTimeSlot();
System.out.println(currentTimeSlot);
}
}
时间类工具练习
最新推荐文章于 2024-06-16 09:46:44 发布