首页 > 解决方案 > 如何创建一个可变时间函数,我可以在其中选择 python 中的时间(即不是实际的当前时间)?

问题描述

我有一个 Python 项目课程结束,我在 Python 中创建了一个路由系统。我创建了一个菜单,其中一个菜单选项是更改时间并显示我的包裹状态。例如,开始时间是早上 8 点,因为卡车刚刚离开,所以没有包裹送达。我调用我的菜单选项向前移动一小时,现在时间是上午 9 点,我想重新打印当时所有包裹的状态。由于每个包裹实际上是根据我的算法在特定时间交付的,因此它必须实际上是可行的,而我无法做到这一点。

我知道我可以使用 datetime.now 来显示当前时间,但是我无法找到有关如何显示我希望在程序开始时显示的时间(上午 8 点)以及如何在我可以修改的地方进行修改的资源多次向前移动 1 小时。

from datetime import datetime

now = datetime.now()
print(now)

以上是我暂时用作占位符的,但它与我的包系统中的时间不对应,所以它不是很有帮助。我感谢任何资源或朝着正确方向轻推!

标签: pythondatetimetime

解决方案


你可以.combinea dateand timeinto a datetime,所以如果你想要例如“今天早上 8 点”,你可以这样做:

>>> from datetime import date, datetime, time
>>> first_thing = datetime.combine(date.today(), time(8))
                                  # ^ today       ^ at 8am
>>> first_thing
datetime.datetime(2019, 6, 26, 8, 0) 

例如,当您想将其向前移动一个小时时,您可以使用timedelta

>>> from datetime import timedelta
>>> first_thing + timedelta(hours=1)
datetime.datetime(2019, 6, 26, 9, 0)

推荐阅读