以下是一个示例代码,演示了如何在不提供日期的情况下减去小时数:
from datetime import datetime, timedelta
def subtract_hours(hours):
# 获取当前日期和时间
current_datetime = datetime.now()
# 打印当前日期和时间
print("当前日期和时间:", current_datetime)
# 如果没有提供日期,则默认使用当前日期
if hours >= current_datetime.hour:
# 计算要减去的小时数
subtracted_hours = current_datetime.hour - hours
# 使用 timedelta 函数减去指定的小时数
result_datetime = current_datetime - timedelta(hours=subtracted_hours)
else:
# 如果提供的小时数大于当前时间的小时数,则减去的小时数是当前时间的小时数加上 24 减去提供的小时数
subtracted_hours = current_datetime.hour + 24 - hours
# 使用 timedelta 函数减去指定的小时数
result_datetime = current_datetime - timedelta(hours=subtracted_hours)
# 打印结果日期和时间
print("减去 {} 小时后的日期和时间:".format(hours), result_datetime)
# 调用函数并传入要减去的小时数
subtract_hours(5)
这个示例代码中,我们首先使用 datetime.now()
函数获取当前日期和时间。然后,我们检查是否提供了日期。如果没有提供日期,则默认使用当前日期。接下来,我们计算要减去的小时数。如果提供的小时数小于当前时间的小时数,则直接将其减去。否则,我们将提供的小时数与当前时间的小时数相加,并减去 24。最后,我们使用 timedelta
函数减去指定的小时数,并打印结果日期和时间。