如何才能获得与未来日期相关的小时数差异?

时间:2018-03-14 11:19:59

标签: python datetime

我有datetime.now()个对象,我想知道第二天特定小时之前会经过几个小时 我试过这个:

now = datetime.now()
then = datetime.now() + timedelta(days=1)
then.hour = 12 # doesn't work
hours =  then - now 

但我不知道如何指定then对象的确切小时

3 个答案:

答案 0 :(得分:0)

timedelta对象将为您提供两次之间的总秒数。下面将给出从那时到现在的整个小时数。

now = datetime.datetime.now()
then = datetime.datetime.now() + datetime.timedelta(days=1)
delta = then - now
hours = delta.total_seconds // 3600

答案 1 :(得分:0)

我不明白你需要。但你可以试试这个

then = datetime.now() + timedelta(days=1, hours=12)

或者

then = datetime.now() + timedelta(days=1)
then.replace(hour=12)

如果你需要在一小时内得到差异,你应该使用

hours = (then - now).seconds // 3600

答案 2 :(得分:0)

如果问题是您无法为现有datetime对象指定特定小时,则可以使用datetime中的某些属性显式构建未来的now对象:

from datetime import datetime
now = datetime.now()
then = datetime(year=now.year, month=now.month, day=now.day+1, hour=19)