计算并减去不是今天的日期的特定时间
Calculate and substract specific time for a date that is not today
我正在尝试为我的电脑编写自动关机代码。我对编程还很陌生,这可能很容易解决。
我有 2 个约会对象
import datetime
startup_date = datetime.datetime.now() #This is the datetime when I start up my pc
shutdown_date = startup_date + datetime.timedelta(days=1) #Tomorrow
所以,我想让 shutdown_date
发生在第二天凌晨 3 点。我想出了如何获得明天的日期,但我不知道如何进行计算才能使计时器始终指向第二天凌晨 3 点。有时我在中午 12 点启动我的电脑,其他日子在下午 2 点启动我的电脑。所以我需要自动计算启动时间和期望的关机时间(第二天凌晨3点)之间的差异。
我确定这很容易解决,但我看不到。
谢谢!
您可以从 shutdown_date
开始,但随后仅使用 date
组件,并将 time
硬编码为 03:00。然后您可以从 startup_date
中减去新的日期时间
>>> import datetime
>>> startup_date = datetime.datetime.now()
>>> shutdown_date = startup_date + datetime.timedelta(days=1)
>>> tomorrow_morning = datetime.datetime(shutdown_date.year, shutdown_date.month, shutdown_date.day, hour=3)
>>> tomorrow_morning - startup_date
datetime.timedelta(seconds=48730, microseconds=54057)
结合凌晨 3 点时间:
shutdown_date = datetime.datetime.combine(shutdown_date, datetime.time(3, 0))
你可以:
- 获取今天的日期
- 再加一天
- 将时间改为凌晨 3 点:
import datetime
startup_date = datetime.datetime.now()
shutdown_date = startup_date + datetime.timedelta(days=1)
shutdown_date = shutdown_date.replace(hour=3, minute=0, second=0, microsecond=0)
我正在尝试为我的电脑编写自动关机代码。我对编程还很陌生,这可能很容易解决。
我有 2 个约会对象
import datetime
startup_date = datetime.datetime.now() #This is the datetime when I start up my pc
shutdown_date = startup_date + datetime.timedelta(days=1) #Tomorrow
所以,我想让 shutdown_date
发生在第二天凌晨 3 点。我想出了如何获得明天的日期,但我不知道如何进行计算才能使计时器始终指向第二天凌晨 3 点。有时我在中午 12 点启动我的电脑,其他日子在下午 2 点启动我的电脑。所以我需要自动计算启动时间和期望的关机时间(第二天凌晨3点)之间的差异。
我确定这很容易解决,但我看不到。
谢谢!
您可以从 shutdown_date
开始,但随后仅使用 date
组件,并将 time
硬编码为 03:00。然后您可以从 startup_date
>>> import datetime
>>> startup_date = datetime.datetime.now()
>>> shutdown_date = startup_date + datetime.timedelta(days=1)
>>> tomorrow_morning = datetime.datetime(shutdown_date.year, shutdown_date.month, shutdown_date.day, hour=3)
>>> tomorrow_morning - startup_date
datetime.timedelta(seconds=48730, microseconds=54057)
结合凌晨 3 点时间:
shutdown_date = datetime.datetime.combine(shutdown_date, datetime.time(3, 0))
你可以:
- 获取今天的日期
- 再加一天
- 将时间改为凌晨 3 点:
import datetime
startup_date = datetime.datetime.now()
shutdown_date = startup_date + datetime.timedelta(days=1)
shutdown_date = shutdown_date.replace(hour=3, minute=0, second=0, microsecond=0)