现在有3个时间段 峰平谷 其中峰时段是8:00-12:00和17:00-21:00,平时段12:00-17:00和21:00-24:00,谷时段0:00-8:00 前端传入2个时间 开始时间和结束时间 使用Java实现对这个时间段的峰平谷的区分
时间: 2023-09-01 21:13:01 浏览: 132
好的,根据您的要求,我可以给您提供以下 Java 代码实现:
```
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TimeSlotClassification {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) throws ParseException {
String startTimeStr = "2021-10-01 06:00:00"; // 前端传入的开始时间
String endTimeStr = "2021-10-01 22:30:00"; // 前端传入的结束时间
Date startTime = dateFormat.parse(startTimeStr);
Date endTime = dateFormat.parse(endTimeStr);
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(startTime);
int startHour = startCalendar.get(Calendar.HOUR_OF_DAY);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(endTime);
int endHour = endCalendar.get(Calendar.HOUR_OF_DAY);
if (startHour >= 8 && endHour < 12 || startHour >= 17 && endHour < 21) {
System.out.println("时间段为峰时段");
} else if (startHour >= 12 && endHour < 17 || startHour >= 21 || endHour < 8) {
System.out.println("时间段为平时段");
} else {
System.out.println("时间段为谷时段");
}
}
}
```
这段代码中,我们首先将传入的开始时间和结束时间转化为 Date 类型,并获取它们对应的小时数。然后,根据峰平谷时段的定义,判断这个时间段是否属于峰时段、平时段或者谷时段,并输出结果。
阅读全文