我目前有一个程序可以跟踪一个人何时登录,以及他们何时因不和而退出。该程序以日期时间对象的形式给出了签署时间和签署时间,并且将它们彼此相减,得出总数。问题是我希望它只给我小时和分钟,而不是秒和毫秒。 代码如下所示:
@bot.event
async def on_message(message):
if "on" in message.content:
player = message.author
time = message.timestamp
message_type = 'on'
with open(str(player) + " on", 'w') as f:
f.seek(0)
f.truncate()
f.write(str(time))
elif "off" in message.content:
player = message.author
off_time = message.timestamp
with open(str(player) + " on",'r+') as f:
on_time = f.readline()
f.seek(0)
f.truncate()
on_time = parser.parse(on_time)
total = off_time - on_time
print(total)
注意:总对象是timedelta对象,而不是timedate对象。
答案 0 :(得分:-1)
这为您提供小时和分钟,为int
import datetime
datetime.datetime.now().minute
datetime.datetime.now().hour
如果要保留日期时间对象,请使用replace
:
datetime.datetime.now().replace(second=0, microsecond=0)
timedelta
minute = (datetime.datetime.now() - datetime.datetime.now()).total_seconds()/60
rounded_minute = round(minute)
小时是相同的,但您需要将rounded_minute
除以60