一个峰谷平充电计费模块,在添加计费时,需要验证时间无交集,并足够24小时,时间类型为java.sql.Time,给出集体示例
时间: 2024-02-21 20:01:20 浏览: 81
好的,以下是一个Java示例代码,用于验证时间段是否有交集并且是否足够24小时:
```java
import java.sql.Time;
public class ChargingModule {
// 定义一个静态变量,表示一天的时间长度,单位为毫秒
private static final long DAY_IN_MILLIS = 24 * 60 * 60 * 1000;
/**
* 判断两个时间段是否有交集
* @param start1 第一个时间段的开始时间
* @param end1 第一个时间段的结束时间
* @param start2 第二个时间段的开始时间
* @param end2 第二个时间段的结束时间
* @return 如果两个时间段有交集,返回true;否则返回false
*/
public static boolean isTimeOverlap(Time start1, Time end1, Time start2, Time end2) {
long s1 = start1.getTime();
long e1 = end1.getTime();
long s2 = start2.getTime();
long e2 = end2.getTime();
return !(e1 <= s2 || e2 <= s1);
}
/**
* 判断一个时间段是否足够24小时
* @param start 开始时间
* @param end 结束时间
* @return 如果时间段足够24小时,返回true;否则返回false
*/
public static boolean isTimeSpanEnough(Time start, Time end) {
long s = start.getTime();
long e = end.getTime();
return (e - s) >= DAY_IN_MILLIS;
}
public static void main(String[] args) {
Time start1 = Time.valueOf("08:00:00");
Time end1 = Time.valueOf("12:00:00");
Time start2 = Time.valueOf("11:00:00");
Time end2 = Time.valueOf("14:00:00");
if (isTimeOverlap(start1, end1, start2, end2)) {
System.out.println("时间段有交集");
} else {
System.out.println("时间段没有交集");
}
Time start3 = Time.valueOf("08:00:00");
Time end3 = Time.valueOf("18:00:00");
if (isTimeSpanEnough(start3, end3)) {
System.out.println("时间段足够24小时");
} else {
System.out.println("时间段不足24小时");
}
}
}
```
这段代码定义了两个静态方法isTimeOverlap和isTimeSpanEnough,分别用于判断两个时间段是否有交集以及一个时间段是否足够24小时。在main方法中,我们定义了三个时间段,分别进行了交集和足够24小时的判断,并输出了结果。
阅读全文