中文秋招时间规划工具,用彩色时间条安排笔试、面试和准备事项,查看时间冲突,并在全球城市时区之间转换。
支持全球城市时区与夏令时 / 冬令时、固定开考和窗口内任选的笔试、手机布局,以及重启后保留数据。
需要 Node.js 22 或更新版本。
git clone https://github.com/logan-suu/Timer.git
cd Timer
npm ci
npm run dev打开 本机日程页面。在运行窗口按 Control + C 关闭,保存的数据仍会保留。
macOS 也可以双击 启动秋招日程.command 或 启动本地秋招日程.command 启动,双击 关闭秋招日程.command 停止。首次启动会安装依赖并构建本地版本;需要已安装 Node.js。
运行构建后的本地版本:
npm run build
npm start- 点击「新建日程」或周历空白时间格,填写公司、日程名称、开始和结束时间。
- 新建笔试时填写开始、结束时间,并选择「笔试时长」。提供常用时长和自定义分钟数。时间段长于作答时长时,自动识别为「窗口内任选」;相等时为「固定开考」;短于作答时长时会提示调整时间。识别基于实际经过时间,自动考虑夏令时切换。
- 可选笔试保留窗口开放时间、完成截止时间和作答用时,可暂不安排具体时间。旧的固定笔试如果还没有记录作答时长,会保留原安排;补充时长后按同样规则识别。
- 可选窗口以对应颜色的卡片单独显示在周历上方,保留截止时间提醒;整段窗口不会占用日历,也不会因为与其他窗口重叠而误报冲突。
- 点击窗口卡片,选择建议的连续空闲时段,或勾选「安排具体作答时间」自行填写开始时间。作答必须完整落在窗口内;保存后仅实际作答时段显示为彩色时间条并参与冲突检查。建议会避开已确定的日程和已过去的时间,未安排的笔试仍需分别分配时间。
- 笔试默认紫色、面试蓝色、准备绿色、其他橙色;可以单独更改每条日程的颜色。
- 重叠事件在同一天内并排展示,带红色描边。「冲突检查」列出全部冲突及准确重叠时段;相邻但不重叠的日程不会误报。
- 点击时间条编辑或删除;也可以切换列表、搜索公司、筛选类型、选择日期。
- 日历上方可搜索并选择全球城市的「日历显示时区」和「对照时区」,支持中文城市名、英文名称及完整时区标识。可以交换两地时区,或点击「使用设备时区」。周历、列表和冲突时段均跟随所选时区;每个时间后标注对应地区。
- 新用户首次打开时采用设备时区显示日历,已保存的用户设置保持不变。秋招通知默认按北京时间录入,也可以在「通知 / 录入时区」中搜索任意城市;保存后记住这次录入时区。切换时区会换算已填写的时间,保持同一实际时刻。
- 按所选城市和日程日期换算时差,自动处理各地的夏令时、南半球规则,以及半小时、45 分钟偏移。跳过的当地时间不能保存,重复时间需要明确选择第一次或第二次;时制切换日的周历以该日期列内标注的时刻为准。
- 表单预览会显示录入地区和日历地区的日期、时间及当天 UTC 偏移。跨越时制切换时显示前后偏移及实际时长;重复的钟表时间会额外标注偏移,便于区分。笔试安排时间轴也支持独立搜索和选择全球时区。
- 手机宽度下按天显示周历,可点击顶部日期切换当天。
- 首次打开显示明确标注的示例预览。创建第一条个人日程,或点击「开始我的规划」,会退出示例;示例不会混入个人备份。
- 未开始:保留事项颜色,并显示状态标签。
- 进行中:显示绿色状态标记。
- 已结束:已安排的时段已经过去,使用灰色底显示;不表示手动确认完成。
- 待安排:可选笔试窗口已经开放,尚未选择具体作答时间。
- 已过期:尚未安排作答的笔试窗口已经截止。
列表可以筛选「全部」「未结束」「已结束 / 过期」。状态在开始、结束或截止时自动更新;切换显示时区不会改变状态。过去的事项仍可查看和编辑,历史冲突保留红色描边。
本地日程保存在 .data/schedule.json,上一版备份在 .data/schedule.backup.json。保存先写入临时文件并同步到磁盘,再原子替换主文件;主文件损坏时会尝试恢复上一版。版本检查防止较旧窗口覆盖新修改。
关闭网页、停止服务或重启电脑后,重新启动会加载已有数据。不要删除 .data/。可通过「备份管理」导出、合并或替换导入 JSON 备份。
本地服务默认只监听 127.0.0.1。本地文件不会自动同步到其他设备;手机在电脑关闭后独立使用,需要自行配置 cloud/ 中的云端版。
本仓库只包含程序、测试和明确标注的示例,不包含作者的个人日程、备份、登录凭据、私人站点地址或部署身份。
| 目录 | 内容 |
|---|---|
src/ |
React / TypeScript 界面 |
shared/ |
时间换算、冲突、连续时段和状态判断 |
server/ |
本地服务和持久保存 |
tests/ |
时间、夏令时、冲突和存储测试 |
cloud/ |
可自行配置的私人云端版本 |
design/ |
界面概念图与设计说明 |
npm test
npm run build测试覆盖全球时区、跨地区夏令时日期、南半球与半小时调整、午夜跳时、固定与可选笔试、连续作答时段、窗口截止、跨天和跨时区冲突、夏令时跳过与重复小时、23 / 25 小时日历、事项状态边界、重启读取、备份恢复、旧数据兼容和多窗口写入保护。
界面使用 React、TypeScript 和 Vite。云端版使用 Vinext、Cloudflare Workers 和 D1;随附第三方代码保留其原有许可文件。