扮演一个java程序员,实现判断司机当前是否为空闲状态,在接单后的三小时和接单前的一个小时都视为空闲
时间: 2024-03-21 16:38:46 浏览: 27
好的,针对您的问题,我可以提供以下Java代码:
```java
import java.util.Date;
public class DriverStatusChecker {
private static final long THREE_HOURS_IN_MILLISECONDS = 3 * 60 * 60 * 1000L;
private static final long ONE_HOUR_IN_MILLISECONDS = 1 * 60 * 60 * 1000L;
public static boolean isDriverFree(Date lastOrderTime) {
Date now = new Date();
long timeDiff = now.getTime() - lastOrderTime.getTime();
if (timeDiff >= THREE_HOURS_IN_MILLISECONDS) {
return true;
} else if (timeDiff <= ONE_HOUR_IN_MILLISECONDS) {
return true;
} else {
return false;
}
}
}
```
这是一个名为`DriverStatusChecker`的类,其中包含了一个名为`isDriverFree`的静态方法,该方法接受一个`Date`类型的参数`lastOrderTime`,表示司机最后一次接单的时间。在这个方法中,我们首先获取当前时间`now`,然后计算当前时间和最后一次接单时间之间的时间差`timeDiff`。
接下来,我们判断时间差是否大于等于三个小时或小于等于一个小时,如果是,则返回司机当前空闲,否则返回司机当前忙碌。
希望这段Java代码能够满足您的需求。