# Cursor Browser 教程：核对时区切换、夏令时重叠与全天事件

## 身份和范围

本站原创 fixture 与人工参考；实际运行：三时区十二显示值实际浏览器回读。目标代理模型、账号会话、付费 API、第三方 PR、推送和发布均未执行。公开包不含 .env；需要时仅在自己的临时练习目录从文本模板创建。

## 本地命令

```sh
python3 -m http.server 4384 --bind 127.0.0.1
```

## 七步原生操作

### 1. 固定四个事件原值

events.json 中 E01 是 UTC 跨天，E02/E03 是 2026-11-01 洛杉矶夏令时结束前后两个 UTC 瞬间，E04 是 date-only 全天事件。所有值固定，不依赖本机“今天”或真实日历账号。

### 2. 让 Cursor Browser 打开本地页面

从 Agent 的原生 Browser 工具打开 app.html，确认可以选择时区、读取 DOM 和控制台。企业策略可能限制浏览器；不要把平台支持 Browser 等同于已有任意第三方账号权限。

### 3. 逐项选择明确 IANA 时区

依次选 UTC、Asia/Shanghai、America/Los_Angeles，用 Intl.DateTimeFormat 的 timeZone 和 shortOffset 格式化 instant。不能省略 timeZone 再拿本机输出当统一预期。

### 4. 核对跨天与重复小时的身份

上海 E01 应到 2026-01-02；洛杉矶 E02/E03 都是 01:30，但分别是 GMT-7 与 GMT-8。真实界面必须保留偏移或其他可区分身份，不能只展示相同 01:30 让用户混淆。

### 5. 让全天日期保持 date-only

E04 直接保留 2026-11-01 全天，不把它当 UTC 午夜 Date 再转时区，否则可能变成前一天。要求代理分清 instant 和 date 两类数据，不能靠加固定小时偏移补救。

### 6. 读实际 DOM 与参考表做比较

本站 Playwright 实际切换三时区并读取四行，共十二个显示值；browser-result.json 记录真实结果。检查跨天、两个重复小时的偏移和三次全天日期一致，不以静态截图表代替交互。

### 7. 记录运行时边界再复用逻辑

保存浏览器版本和输入 UTC 瞬间，未来时区数据库变化需重验。本站没有创建外部日历事件；目标 Cursor 会话与人工参考输出分别留档。

## 验收产物

原生 Browser 操作时区选择器的真实记录；UTC→Asia/Shanghai/America/Los_Angeles 对照表、重复小时标识和全天日期不偏移的修复证据

## 门槛

- 当前 Cursor Browser 功能、模型和工作区权限须可用；企业 MCP/浏览器策略可能限制。
- 只操作 localhost，不授权真实日历，不创建事件；时区计算使用明确 IANA 名称。
- Intl 输出受运行时和时区数据库影响；验收固定 UTC 瞬间，避免用本机默认时区作依据。

## 官方来源

- https://prod.cursor.com/docs/agent/tools/browser
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat

静态配图冻结于本次输入。修改输入需重新运行并自行重渲染；不把旧截图当新结果。

## 可重复的浏览器检查

需 Node >=24。运行 `npm ci`，若缺少 Chromium，再按 Playwright 提示安装浏览器，然后 `npm run check`。只启动本地练习 HTTP 服务，不连接任何模型或账号。PDF 页数/中文需结合包内原生 PDF 逐页人工看。
