一个 macOS 菜单栏小工具,用于临时切换系统时区,并在需要时恢复到之前记录的时区。
当你需要测试日历、排期、订阅、国际化、区域相关逻辑时,可以用它快速切换时区,而不需要永久改变自己的日常系统设置。
开发者、测试工程师、产品构建者和支持团队经常需要确认这些问题:
- 日历事件在太平洋时间下是否正确显示?
- 一个定时任务跨过其他地区的午夜时是否表现正常?
- 订阅、账期、日期边界在非本地时区是否正确?
- 能否复现只在某个时区出现的用户问题?
时区切换器把这个流程放到菜单栏里,并且可以随时恢复。
- 只常驻菜单栏,不显示 Dock 图标。
- 可以添加多个 IANA 时区,例如
America/Los_Angeles和Asia/Shanghai,并同时看到每个时区的当地时间。 - 可以把任意已添加时区设为系统时区。第一次切走时会记住本机时区,恢复前不会覆盖这条记录。
- 菜单栏可以自动跟随当前系统时区、只显示图标,或固定显示某一个已添加时区的时间。
- 可以从预设里选时间格式,包括仅时间、缩写和时间、中文日期、英文日期,或自定义格式。可以选择是否显示秒。
- 界面语言可以跟随系统、使用简体中文或 English。语言不决定时钟的格式。
- 时区名称跟随系统语言本地化显示,同时保留 IANA 标识,避免歧义。
- 使用原生 SwiftUI 控件和 macOS 材质风格。
- 不收集分析数据。
- 不发送网络请求。
- 不做后台轮询。
- 只会在你更改或恢复系统时区时请求管理员权限。
- 底层使用的系统命令是:
systemsetup -settimezone <IANA 时区标识>从最新 Release 下载磁盘镜像,打开后把 Time Zone Switcher 拖到窗口里的 Applications 文件夹。
当前发布包是开源项目常见的 unsigned、未 notarized 构建。首次打开时,macOS 可能会因为它来自互联网而阻止启动。可以这样打开:
- 打开 系统设置。
- 进入 隐私与安全性。
- 找到被阻止的 App 提示,选择 仍要打开。
也可以按住 Control 点击 App,然后选择 打开。
环境要求:
- macOS 26+
- Xcode 26+
- Swift 6.3+
构建 App:
Scripts/build_app.sh运行:
open "dist/Time Zone Switcher.app"生成发布磁盘镜像:
Scripts/package_release.sh- 常用时区收藏。
- 快捷键。
- 可选 notarized 构建。
- 更多语言本地化。
欢迎参与贡献。查看 CONTRIBUTING.md。
MIT


