所以我试图使用时间戳函数来显示某人编辑他们的消息的时间。目前,这是我的代码:
@commands.Cog.listener()
async def on_message_edit(self, before, after):
if before.author != self.bot.user:
embed=discord.Embed(title="{}".format(before.author), description="Editted a Message:",color=0xfcca03)
embed.add_field(name= "**Before:** " ,value=before.content, inline=False)
embed.add_field(name= "**After:** ",value=after.content, inline=False)
embed.add_field(name="**Details:** ", value = "Channel: " + str(after.channel) + "\n" + "ID: " + str({before.author.id}))
guild = self.bot.get_guild(357331299792584707)
embed.set_thumbnail(url = guild.icon_url)
timestamp = datetime.now()
embed.set_footer(text=guild.name + "Timestamp: " + str(timestamp))
channel = self.bot.get_channel(722949984227688519)
await channel.send(embed=embed)
Run Code Online (Sandbox Code Playgroud)
该代码有效,但时间戳中充满了我不需要的其他信息。
例子: Timestamp: 2020-11-13 17:48:24.876424
我将如何使它看起来像这样?“时间戳:晚上 7:43”
任何帮助都会有很大帮助,谢谢!
您可以使用 datetime.strptime
timestamp = datetime.now()
print(timestamp) # 2020-11-13 19:12:26.718388
print(timestamp.strftime(r"%I:%M %p")) # 07:12 PM
Run Code Online (Sandbox Code Playgroud)
具体使用以下格式代码
%I将Hour(12 小时制)作为零填充的十进制数
%p对于语言环境下的任一上午或下午
%M将分钟作为零填充的十进制数
| 归档时间: |
|
| 查看次数: |
2343 次 |
| 最近记录: |