You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.py如何在embed嵌入消息中添加可展示的时间对象

Discord.py Embed 添加时间展示实现方案

你需要的效果无需额外的自定义类型对象,discord.py的Embed原生支持该能力,直接使用内置的timestamp参数即可实现,具体逻辑如下:

  • 直接将Python原生datetime.datetime类型的时间对象传入Embed的timestamp参数,Discord客户端会自动将其渲染为你示例中展示的、位于Embed底部的标准化时间样式,且会自动适配查看用户的本地时区。
  • 若需要在Embed正文、自定义字段中插入可自动本地化的时间,可直接使用Discord内置的时间戳标记语法,无需调用额外接口。

代码示例

import discord
from datetime import datetime, timezone

# 初始化Embed时直接传入时间戳
demo_embed = discord.Embed(
    title="通知",
    description="这是一条带时间标记的Embed消息",
    # 推荐传入UTC时间避免时区偏移,Discord会自动转换为用户本地时间
    timestamp=datetime.now(timezone.utc)
)

# 也可以为已创建的Embed单独设置时间戳
demo_embed.timestamp = datetime.now(timezone.utc)

# 正文插入时间标记示例:Unix秒级时间戳+格式符,f代表完整日期时间
demo_embed.description += "\n事件触发时间:<t:1696128000:f>"

补充说明

timestamp参数仅支持传入标准datetime对象,不需要引入discord.py的其他自定义类型,你在官方文档中没有找到对应独立类型,是因为该参数直接兼容Python原生时间类型,没有做额外封装。
如果需要调整时间的展示格式,只需要修改时间戳标记的格式符即可:常用格式符包括t(仅时分)、d(仅日期)、f(完整日期时间)、R(相对时间,如“5分钟前”)。

内容的提问来源于stack exchange,提问作者J Muzhen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:36:02