如何更新时间戳?Python开发Discord机器人日志时间异常问题
解决Discord机器人日志时间不更新的问题
嘿,这个问题我之前开发Discord机器人时也踩过坑!问题的根源很简单——你只计算了一次当前时间,之后就一直复用这个旧值了。
问题出在哪?
你现在的代码逻辑是这样的:
import time currentTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 命令触发时执行的代码 print(str(currentTime) + " - Emoji's requested!")
当你的脚本启动时,currentTime就被赋值为启动那一刻的时间,之后不管过多久,这个变量的值都不会自动更新。所以每次触发命令,打印的都是脚本启动时的时间,而不是命令触发的实时时间。
怎么修复?
把获取时间的代码放到命令触发的逻辑里,每次触发命令时才去获取当前时间:
import time # 假设这是你处理Discord命令的函数 async def handle_emoji_command(ctx): # 每次执行命令时,重新计算当前时间 currentTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 用f-string格式化输出更简洁直观 print(f"{currentTime} - Emoji's requested!")
这样一来,每次用户触发命令,代码都会重新调用time.localtime()获取最新的本地时间,再格式化成你需要的字符串,打印出来的自然就是实时的日志时间了。
内容的提问来源于stack exchange,提问作者antwilson1720
相关产品推荐
相关产品推荐

