Windows 下时间获取问题

Windows 下未授权 Get-Date 时,LLM 获取到的时间为 UTC 而非本地时间(北京时间),导致存档时间戳错乱

问题现象

在 Windows 系统上使用 trae IDE 时,当 PowerShell 的 Get-Date 命令未被加入工具白名单时,LLM 会转而通过 trae IDE 内部的某种方式获取当前时间,用于填写时间戳。但该方式获取到的时间是格林威治标准时间(UTC),而非系统本地时间(北京时间,UTC+8),两者相差 8 小时。这导致所有由 LLM 自动填写的时间戳(如文件存档时间、更新记录、日志等)都比实际北京时间早 8 小时,造成时间信息混乱。

复现步骤

  1. 在 Windows 上使用 trae IDE,确保 Get-Date 命令未被加入白名单(即 LLM 无法直接调用 Shell 执行 Get-Date )。
  2. 让 LLM 执行一个需要填写当前时间戳的任务(例如"读取当前时间并写入文件的更新记录")。
  3. 查看 LLM 填写的时间戳,并与系统实际北京时间比对。
    期望行为

LLM 获取到的时间应当是系统本地时间(北京时间,UTC+8),与系统时区设置保持一致;或在时间信息中明确标注时区,避免被误当作本地时间使用。

实际行为

LLM 填写的时间为 UTC 时间,比北京时间早 8 小时。例如北京时间 20:00 时,LLM 填写的时间为 12:00。

影响

所有依赖 LLM 自动填写时间戳的存档记录、日志、更新记录都会出现 8 小时偏差,导致时间线混乱,严重影响基于时间的排序、追溯和审计。用户不得不手动核对并修正大量错误时间戳,增加无谓的心智负担。

环境信息

  • 操作系统:Windows 11
  • 问题平台:trae IDE
    建议

希望 trae IDE 在向 LLM 注入当前时间信息时,使用系统本地时间(尊重系统时区设置),或在时间信息中明确标注时区(如"2026-08-04 20:00:00 UTC+8"),避免 LLM 误用 UTC 时间作为本地时间填写到存档中。

关于你提到的在 Windows 下由于未授权 Get-Date 导致 LLM 获取时间变为 UTC 的问题,当前帖子里的信息还不足以形成可靠结论。

为了进一步排查,需要麻烦你在本帖补充以下信息:

  • TRAE IDE 的具体版本(可以在菜单栏「帮助 → 关于」中复制)
  • 操作系统(已看到是 Windows 11,如果有具体的细分版本也可以补充)
  • 复现步骤(你上面列的步骤很清晰,如果有特定的项目环境也可以一并说明)
  • 可用的截图或日志(比如出现时间错乱的对话截图,或者双击 AI 头像复制的 Trace 信息)

麻烦补充一下这些细节哦~

可以直接用自然语言纠正下模型的认知

我是要求模型纠正了,但是这种方式很不稳定,偶尔就会出错。最好是机制层面就硬性修复