WSL2,Ubuntu,设置时区为东八区Asia/Shanghai
·
前置说明
东八区标准时区标识为 Asia/Shanghai;
所有操作均需在 WSL2 Ubuntu 终端内执行,带sudo的命令需要输入你的 Ubuntu 用户密码。
一、配置验证(先查看)
验证配置是否生效
执行以下任意命令,确认时区为东八区:
- 基础时间查看:
正确输出示例:$date Tue Apr 11 01:55:16 CST 2026Tue 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: noTime 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 配置文件开启 systemd:
写入以下内容,按sudo nano /etc/wsl.confCtrl+O回车保存,Ctrl+X退出:ini
[boot] systemd=true - 关闭 WSL 使配置生效(在 Windows CMD/PowerShell 中执行):
powershell
wsl --shutdown - 重新打开 Ubuntu 终端,执行时区设置命令:
sudo timedatectl set-timezone Asia/Shanghai
关键:解决 WSL2 重启后时区重置的官方方案
WSL2 默认会自动同步 Windows 系统的时区,导致手动配置重启后失效,可通过微软官方的wsl.conf配置彻底解决Microsoft Learn。
- 在 Ubuntu 终端中编辑 wsl.conf 配置文件:
sudo nano /etc/wsl.conf - 写入以下核心配置,关闭 Windows 时区自动同步:
若已开启 systemd,可保留之前的[time] useWindowsTimezone = false[boot]配置,完整示例:[boot] systemd=true [time] useWindowsTimezone = false - 保存退出后,在 Windows CMD/PowerShell 中执行命令彻底重启 WSL:
wsl --shutdown - 重新打开 Ubuntu 终端,重新执行上述任意一种时区配置方法,后续重启 WSL / 电脑,时区都不会再被重置。
常见问题修复
- 休眠 / 睡眠后 WSL2 时间不同步:
该命令会从 Windows 硬件时钟同步系统时间,立即修复时间偏移。sudo hwclock -s - 时间持续偏移,开启 systemd 的环境可安装时间同步服务:
sudo apt install -y systemd-timesyncd sudo systemctl enable --now systemd-timesyncd
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)