有没有办法通过命令行/终端设置当前时区?这是一个 shelle 脚本,所以我正在寻找一些,希望是一行代码date -Z 'Europe/London'
(只是一个例子),换句话说,只是一个要写的命令,与图形无关
有没有什么内置的方法可以做到这一点?
答案1
这适用于 Linux Mint、Ubuntu、Debian,我认为大多数基于 Debian 的发行版......
echo "America/Eastern" | sudo tee /etc/timezone
sudo dpkg-reconfigure --frontend noninteractive tzdata
在哪里可以找到时区:
- 看到这个tz 数据库的维基百科链接供其他时区使用
- 时区和夏令时数据来源列出了更多来源,例如TWiki.org 服务:日期和时间网关 - 时区选择器
- 查看
/usr/share/zoneinfo/
显示区域应该可以工作。大多数是“文件夹/文件夹”格式的“国家/城市”,但如果您选择 MST 等“普通”区域,则可能不会设置夏令时信息。
或者(如评论所述)用来timedatectl list-timezones
查找区域,然后timedatectl set-timezone [timezone]
如果需要,请参阅此Debian 有关时区变化的页面zic
。如果您想更改时区的详细信息,如夏令时开始和结束日期等,您可以使用该程序并更改一些文件。
答案2
你可以用多行来更改它。正好两行。
mv /etc/localtime /etc/localtime.old
然后像这样链接您的 TimeZone 文件:
ln -s /usr/share/zoneinfo/Europa/London /etc/localtime
您可以检查date