java 动态时间段 计算给定分钟后的日期时间 只考虑工作时段
时间: 2023-12-14 10:35:48 浏览: 33
可以使用 Java 中的 Calendar 类来实现动态时间段的计算,同时可以使用一个工作时间段的数组来限制时间段。
以下是一个简单的示例代码,该代码计算给定分钟数后的日期时间,只考虑周一到周五上午 9 点到下午 5 点这个工作时间段:
```java
import java.util.Calendar;
public class DynamicTimeCalculation {
public static void main(String[] args) {
int minutesToAdd = 120; // 给定的分钟数
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MINUTE, minutesToAdd);
// 工作时间段限制,周一到周五上午 9 点到下午 5 点
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);
if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY
|| hourOfDay < 9 || hourOfDay >= 17) {
// 如果不在工作时间段,则将时间调整到下一个工作时间段开始时间
int daysToAdd = 0;
if (dayOfWeek == Calendar.FRIDAY && hourOfDay >= 17) {
// 如果是周五下午 5 点以后,则需要增加 3 天
daysToAdd = 3;
} else if (dayOfWeek == Calendar.SATURDAY) {
// 如果是周六,则需要增加 2 天
daysToAdd = 2;
} else {
// 否则增加 1 天
daysToAdd = 1;
}
calendar.add(Calendar.DAY_OF_MONTH, daysToAdd);
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.MINUTE, 0);
}
System.out.println("计算后的日期时间:" + calendar.getTime());
}
}
```
注意,上述代码中只考虑了一个简单的工作时间段限制,实际应用中可能需要考虑更复杂的时间段限制,例如节假日、时区等。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)