如何用java实现将一天的7:30-22:05按照下面的时间段分成13段,判断当前时间在哪一段时间里?要求可以设置13段时间的起始点如下面这样的时间段 第1节:7:30-8:45第2节:8:45-9:40第3节:9:40-10:45第4节:10

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 21:09:11

如何用java实现将一天的7:30-22:05按照下面的时间段分成13段,判断当前时间在哪一段时间里?要求可以设置13段时间的起始点如下面这样的时间段 第1节:7:30-8:45第2节:8:45-9:40第3节:9:40-10:45第4节:10
如何用java实现将一天的7:30-22:05按照下面的时间段分成13段,判断当前时间在哪一段时间里?
要求可以设置13段时间的起始点
如下面这样的时间段

第1节:7:30-8:45
第2节:8:45-9:40
第3节:9:40-10:45
第4节:10:45-11:40
第5节:11:40-14:15
第6节:14:15-15:10
第7节:15:10-16:05
第8节:16:05-17:00
第9节:17:00-17:55
第10节:17:55-18:50
第11节:18:50-20:15
第12节:20:15-21:10
第13节:21:10-22:05
还有就是怎么判断当前的时间是哪节的?

如何用java实现将一天的7:30-22:05按照下面的时间段分成13段,判断当前时间在哪一段时间里?要求可以设置13段时间的起始点如下面这样的时间段 第1节:7:30-8:45第2节:8:45-9:40第3节:9:40-10:45第4节:10
你可以用一个字符串类型的数组将13节存入其中,然后循环比较.比较的时候要将字条串用split(“-”)先分割开,再分别转为Date类型.假如d1是起始时间,d2是结束时间,当前时间是d3,d3.after(d1)为true,d3.before(d2)为true时,当前时间就是这一节中,循环变量i+1是第几节.

望采纳
以下是实现方法:我只举了三个时间段
String[] dates = new String[3];
dates[0] = "1:00-8:00";
dates[1] = "8:00-16:00";
dates[2] = "16:00-24:00";
for (int i = 0; i < dates.length; i++) {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String currentDate = sdf.format(new Date());

String dateStr = dates[i];
String[] dateArr = dateStr.split("-");
try {
Date currDate = sdf.parse(currentDate);//当前时间
Date startDate = sdf.parse(dateArr[0]);//每节开始时间
Date endDate = sdf.parse(dateArr[1]);//每节结束时间
if(currDate.after(startDate) && currDate.before(endDate)){
System.out.println("当前时间属于第"+(i+1)+"节");
}
} catch (ParseException e) {
e.printStackTrace();
}

}
}