如何从当前时间中减去60秒并以“小时:分钟:秒”格式显示?

2024-06-25 06:58:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用Python中的datetime模块从当前时间中减去60秒。但是,我得到的是完整的日期,包括年、月和毫秒。我只需要它显示小时、分钟和秒。有没有办法做到这一点

currenttime=datetime.datetime.now().strftime(" %H:%M:%S")
print(currenttime)
X = 65
endtime=datetime.datetime.now()-datetime.timedelta(seconds=X)

print(endtime)

Tags: 模块datetime时间nowtimedeltasecondsprint小时
3条回答

您的代码几乎可以正常工作,只是您忘记了将strftime应用于结束时间

另外,到目前为止,在代码块中有X=65,而它应该是X = 60

这是您的代码的工作版本:

currenttime = datetime.datetime.now().strftime("%H:%M:%S")
print(currenttime)
X = 60
endtime = datetime.datetime.now() - datetime.timedelta(seconds=X)

print(endtime.strftime("%H:%M:%S"))

也就是说,我认为代码可以像这样变得更简单、更简洁:

start = datetime.datetime.now()
print(start.strftime("%H:%M:%S"))

end = start - datetime.timedelta(seconds=60)
print(end.strftime("%H:%M:%S"))

要仅打印小时、分钟和秒,请执行以下操作:

print(endtime.strftime("%H:%M:%S"))

你走得很对。只需格式化endtime

from datetime import datetime, timedelta

endtime = (datetime.now() - timedelta(seconds=60)).strftime('%H:%M:%S')

相关问题 更多 >