WSL2,Ubuntu,设置时区为东八区Asia/Shanghai

张开发
2026/4/14 2:28:02 15 分钟阅读

分享文章

WSL2,Ubuntu,设置时区为东八区Asia/Shanghai
前置说明东八区标准时区标识为Asia/Shanghai所有操作均需在 WSL2 Ubuntu 终端内执行带sudo的命令需要输入你的 Ubuntu 用户密码。一、配置验证先查看验证配置是否生效执行以下任意命令确认时区为东八区基础时间查看$date Tue Apr 11 01:55:16 CST 2026正确输出示例Tue Apr 14 15:30:00 CST 2026其中CST代表中国标准时间0800为东八区偏移量。详细时区状态开启 systemd 可用$timedatectl status Local time: Tue 2026-04-12 01:55:38 CST Universal time: Mon 2026-04-11 17:55:38 UTC RTC time: Mon 2026-04-11 17:55:40 Time zone: Asia/Shanghai (CST, 0800) System clock synchronized: yes NTP service: active RTC in local TZ: no正确输出会包含Time zone: Asia/Shanghai (CST, 0800)查看时区文件配置bash运行cat /etc/timezone # 正确输出Asia/Shanghai readlink /etc/localtime # 正确输出/usr/share/zoneinfo/Asia/Shanghai方法一交互式可视化配置新手首选兼容性最强该方法是 Debian/Ubuntu 系统原生方案无需开启 systemd适配所有 WSL2 Ubuntu 版本。先更新软件源并确保时区工具包tzdata已安装sudo apt update sudo apt install -y tzdata执行交互式时区配置命令sudo dpkg-reconfigure tzdata弹出的配置界面中按上下方向键选择第一步地理区域选择Asia亚洲回车确认第二步城市选择Shanghai上海回车确认配置完成后系统会自动更新时区无需额外重启。方法二非交互式手动配置适合脚本 / 自动化一步到位无需交互界面直接通过命令行完成配置适合批量部署或无界面场景。备份原有本地时间文件创建东八区时区文件软链接sudo mv /etc/localtime /etc/localtime.bak sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime写入时区配置到系统文件永久生效echo Asia/Shanghai | sudo tee /etc/timezone强制更新时区数据使配置立即生效sudo dpkg-reconfigure -f noninteractive tzdata方法三systemd 官方方式已开启 systemd 的环境推荐WSL2 默认未开启 systemd若你已启用 systemd可使用 Ubuntu 官方推荐的timedatectl命令配置。未开启 systemd 需先执行编辑 WSL 配置文件开启 systemdsudo nano /etc/wsl.conf写入以下内容按CtrlO回车保存CtrlX退出ini[boot] systemdtrue关闭 WSL 使配置生效在 Windows CMD/PowerShell 中执行powershellwsl --shutdown重新打开 Ubuntu 终端执行时区设置命令sudo timedatectl set-timezone Asia/Shanghai关键解决 WSL2 重启后时区重置的官方方案WSL2 默认会自动同步 Windows 系统的时区导致手动配置重启后失效可通过微软官方的wsl.conf配置彻底解决Microsoft Learn。在 Ubuntu 终端中编辑 wsl.conf 配置文件sudo nano /etc/wsl.conf写入以下核心配置关闭 Windows 时区自动同步[time] useWindowsTimezone false若已开启 systemd可保留之前的[boot]配置完整示例[boot] systemdtrue [time] useWindowsTimezone false保存退出后在 Windows CMD/PowerShell 中执行命令彻底重启 WSLwsl --shutdown重新打开 Ubuntu 终端重新执行上述任意一种时区配置方法后续重启 WSL / 电脑时区都不会再被重置。常见问题修复休眠 / 睡眠后 WSL2 时间不同步sudo hwclock -s该命令会从 Windows 硬件时钟同步系统时间立即修复时间偏移。时间持续偏移开启 systemd 的环境可安装时间同步服务sudo apt install -y systemd-timesyncd sudo systemctl enable --now systemd-timesyncd

更多文章