Python/Discord.py删除time.time()中的毫秒数



我为我的python Discord bot(基本上它是一个语音活动跟踪器)做了这个,一切都很好,但我想从total_time中删除毫秒。我想要这样的格式'%H:%M:%S'

这可能吗?

下面是部分代码:

if(before.channel == None):
join_time = round(time.time())
userdata["join_time"] = join_time
elif(after.channel == None):
if(userdata["join_time"] == None): return 
userdata = voice_data[guild_id][new_user]
leave_time = time.time()
passed_time = leave_time - userdata["join_time"]
userdata["total_time"] += passed_time
userdata["join_time"] = None

输出如下:

{
"total_time": 7.4658853358879,
}

您可以使用datetime.timedelta对象,但有一些注意事项。

>>> import datetime as dt
>>> data = {"total_time": 7.4658853358879}
>>> data["total_time"] = str(dt.timedelta(seconds=int(data["total_time"])))
>>> data
{'total_time': '0:00:07'}

如果您的时间大于1天,或小于0,格式开始包括天数

>>> str(dt.timedelta(days=1))
'1 day, 0:00:00'
>>> str(dt.timedelta(seconds=-1))
'-1 day, 23:59:59'
>>> 

最新更新