python实现当当前时间距某四个制定时间+分钟时抛出自定义异常
时间: 2024-12-16 15:17:39 浏览: 9
在Python中,你可以利用`datetime`模块来处理时间和异常处理机制。首先,你需要定义一个自定义异常,例如`TimeCheckException`。然后,你可以编写一个函数来检查当前时间是否距离给定的时间点相差指定分钟数。下面是一个简单的例子:
```python
import datetime
class TimeCheckException(Exception):
def __init__(self, message):
self.message = message
super().__init__(self.message)
def check_time_and_raise(minutes_from_times, now=None):
if not now:
now = datetime.datetime.now()
for time_point in minutes_from_times:
target_time = now.replace(hour=time_point.hour, minute=time_point.minute)
# 计算差值并转换为分钟
diff_minutes = (target_time - now).total_seconds() / 60
# 如果时间差小于等于设定的分钟数,则抛出异常
if abs(diff_minutes) <= minutes_from_times[time_point]:
raise TimeCheckException(f"当前时间({now})已达到或超过预定时间{target_time}")
# 使用示例
specific_times = {
datetime.time(hour=9, minute=0): 5,
datetime.time(hour=17, minute=30): 10
}
try:
check_time_and_raise(specific_times)
except TimeCheckException as e:
print(e)
阅读全文