判断一个List中的时间段对象是否是一天,精确到秒
时间: 2024-02-21 14:01:22 浏览: 59
好的,以下是一个Java示例代码,用于判断一个List中的时间段对象是否是一天,精确到秒:
```java
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
public class TimeList {
// 定义一个静态变量,表示一天的时间长度,单位为秒
private static final int DAY_IN_SECONDS = 24 * 60 * 60;
/**
* 判断一个List中的时间段对象是否是一天,精确到秒
* @param timeList 时间段对象的List
* @return 如果时间段总长度等于一天,返回true;否则返回false
*/
public static boolean isTimeListOneDay(List<TimeSpan> timeList) {
if (timeList == null || timeList.isEmpty()) {
return false;
}
int totalSeconds = 0;
for (TimeSpan ts : timeList) {
long s = ts.getStartTime().getTime() / 1000;
long e = ts.getEndTime().getTime() / 1000;
totalSeconds += (int) (e - s);
}
return totalSeconds == DAY_IN_SECONDS;
}
public static void main(String[] args) {
List<TimeSpan> timeList = new ArrayList<>();
timeList.add(new TimeSpan(Time.valueOf("08:00:00"), Time.valueOf("12:00:00")));
timeList.add(new TimeSpan(Time.valueOf("12:00:00"), Time.valueOf("14:00:00")));
timeList.add(new TimeSpan(Time.valueOf("14:00:00"), Time.valueOf("18:00:00")));
if (isTimeListOneDay(timeList)) {
System.out.println("时间段总长度等于一天");
} else {
System.out.println("时间段总长度不等于一天");
}
}
}
class TimeSpan {
private Time startTime;
private Time endTime;
public TimeSpan(Time startTime, Time endTime) {
this.startTime = startTime;
this.endTime = endTime;
}
public Time getStartTime() {
return startTime;
}
public void setStartTime(Time startTime) {
this.startTime = startTime;
}
public Time getEndTime() {
return endTime;
}
public void setEndTime(Time endTime) {
this.endTime = endTime;
}
}
```
这段代码定义了一个静态方法isTimeListOneDay,用于判断一个List中的时间段对象是否是一天,精确到秒。在main方法中,我们定义了一个包含三个时间段对象的List,进行了判断,并输出了结果。注意,在TimeSpan对象中,我们使用了java.sql.Time类型表示开始时间和结束时间。
阅读全文