跳转到内容

getTimezoneOffset() 返回 -8 而非 -480 - Claude Code

Quick fix

在 Windows 上避免用本地时间 API;改用时间戳差值或 toISOString()/getUTC*,等待 cc-switch 修复。

报错原文
重置 09-29 11:30 (UTC+0.13333333333333333)

Windows 上 cc-switch 3.20.4 的用量查询 JavaScript 沙箱中,rquickjs-sys 0.8.1 内嵌 QuickJS 将 Windows 时区偏移的分钟单位再次除以 60。因此 UTC+8 的 `getTimezoneOffset()` 返回 `-8`,而非 `-480`,本地时间字段也把 8 小时当成 8 分钟处理。

这会影响依赖 `getHours()`、`getMinutes()`、本地日期字段或本地时间格式化的用量脚本;仅计算两个时间戳差值的倒计时不受影响。维护者已定位根因,正在准备在脚本运行时注入时区垫片的修复。

  1. 将重置倒计时等逻辑改为只计算时间戳差值,避免调用本地时间 API。

  2. 需要显示绝对时间时,使用 `toISOString()` 或 `getUTC*` 获取 UTC 时间;这些接口在报告环境中实测正确。

  3. 等待 cc-switch 对 Windows 用量脚本运行时的时区垫片修复。

ToolClaude Code
Version3.20.4(受影响)
PlatformsWindows

(暂无 FAQ)

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。