如何判断一个日期时间段是否在另一个日期时间段内
时间: 2024-01-29 10:04:03 浏览: 167
Java 判断一个时间是否在另一个时间段内
在Java中,可以使用以下方法来判断一个日期时间段是否在另一个日期时间段内:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeUtils {
public static boolean isDateTimeRangeOverlap(String start1, String end1, String start2, String end2) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date startTime1 = format.parse(start1);
Date endTime1 = format.parse(end1);
Date startTime2 = format.parse(start2);
Date endTime2 = format.parse(end2);
// 判断两个时间段是否重叠
if (startTime1.before(endTime2) && endTime1.after(startTime2)) {
return true;
}
} catch (ParseException e) {
e.printStackTrace();
}
return false;
}
public static void main(String[] args) {
String start1 = "2021-01-01 10:00:00";
String end1 = "2021-01-01 12:00:00";
String start2 = "2021-01-01 11:00:00";
String end2 = "2021-01-01 13:00:00";
boolean isOverlap = isDateTimeRangeOverlap(start1, end1, start2, end2);
System.out.println("是否重叠: " + isOverlap);
}
}
```
这段代码中,我们使用`SimpleDateFormat`类将日期时间字符串解析为`Date`对象,并使用`before()`和`after()`方法来比较两个时间段的开始时间和结束时间。如果第一个时间段的开始时间早于第二个时间段的结束时间,并且第一个时间段的结束时间晚于第二个时间段的开始时间,则表示两个时间段重叠。
阅读全文