getTimezoneOffset() 返回 -8 而非 -480 - Claude Code
Quick fix
在 Windows 上避免用本地时间 API;改用时间戳差值或 toISOString()/getUTC*,等待 cc-switch 修复。
Symptom
Section titled “Symptom”重置 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()`、本地日期字段或本地时间格式化的用量脚本;仅计算两个时间戳差值的倒计时不受影响。维护者已定位根因,正在准备在脚本运行时注入时区垫片的修复。
将重置倒计时等逻辑改为只计算时间戳差值,避免调用本地时间 API。
需要显示绝对时间时,使用 `toISOString()` 或 `getUTC*` 获取 UTC 时间;这些接口在报告环境中实测正确。
等待 cc-switch 对 Windows 用量脚本运行时的时区垫片修复。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version3.20.4(受影响)
PlatformsWindows
Source Issues
Section titled “Source Issues”(暂无 FAQ)
No new usage record is created多数相关 issue 仍未解决;升级到包含 #7740 修复的 cc-switch 版本;该修复处理了 Gemini 流式用量解析和模型归因问题。Codex 会话导入忽略 cache_write_input_tokens升级 cc-switch 或等待官方修复:Codex 会话日志导入未解析 cache_write_input_tokens,导致缓存写入被计入普通输入并按 1.0× 价计费。用量统计无法记录fork子会话用量 - Codex3.20.3 暂无已确认修复;该问题仍处于开放状态,需等待 cc-switch 修复子会话与父 rollout 的关联统计。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。