gpt4 book ai didi

python - 如何从设定时间减去当前时间

转载 作者:行者123 更新时间:2023-11-28 22:37:14 24 4
gpt4 key购买 nike

所以我正在尝试创建一个“计划表”或日记。我正在尝试创建代码,以便它在您上床 sleep 之前或必须进行计划的事件之前告诉您一天中还剩下多少时间。

late = timedelta(hours=23)
current_time = now.hour,now.minute
time_left = (late - current_time).minutes
print 'So if the time is %s:%s, That means you have %s minutes left' % (now.hour,now.minute,time_left)

通过查看其他线程,这是我的方法,但我尝试了其他几种方法,例如

late = datetime(datetime.day,datetime.month,datetime.year,23,00) 

再次在其他线程上看到这个。我已经尝试了很多方法,现在我开始对如何解决它感到困惑。

再次感谢您的提前帮助

编辑:使用时

late = datetime(datetime.day,datetime,month,datetime.year,23,00) 

我得到了 Valuerror 'day is out of range month'

和当前代码

late = timedelta(23,00) 

在这个例子中,我得到了一个 typeerror 'unsupported operand type(s) for -: 'datetime.timedelta' and 'tuple'。

我只想让代码输出晚上 11:00(或 23:00)与当前时间的时差,以分钟为单位。抱歉没说清楚

已回答的编辑:感谢您的评论和回答我使代码变得复杂并且没有正确使用 datetime() 的问题,

    y = today.year
m = today.month
d = today.day

late = datetime(y,m,d,23,0,0)

我把年月日弄错了,时间格式也错了。

谢谢大家的帮助。

最佳答案

下面将演示如何做你想达到的目标

from datetime import datetime


today = datetime.today()
y = today.year
m = today.month
d = today.day

late = datetime(y,m,d,23,0,0)

now = datetime.now()

timeDiff = late - now
print 'So if the time is %s:%s, That means you have %s minutes left' % (now.hour,now.minute,timeDiff.seconds/60)

__sub__ 方法已为 datetime 实现,但显然要使用运算符,两个操作数都必须是 datetime 类型。

>>> datetime.now().__class__
<type 'datetime.datetime'>

当您从一个日期时间对象中减去另一个对象时,您会得到一个类型为 timedelta 的对象。

>>> (datetime(2016,04,19)-datetime(2016,04,18)).__class__
>>> <type 'datetime.timedelta'>

datetime represents a timestamp while timedelta represents time difference.

可以从 datetime 对象中减去 timedelta 对象,但反之则不行,这是不言自明的。

>>> datetime(2016,10,1)-timedelta(1)
datetime.datetime(2016, 9, 30, 0, 0)

关于python - 如何从设定时间减去当前时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36726395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com