我正在使用它来配置本地时间:
dpkg-reconfigure tzdata
Run Code Online (Sandbox Code Playgroud)
它是 ncurses 接口。我正在寻找编程的方法。没有用户 ncurses 界面有没有真正的方法?
如何通过一个 shell 命令更改本地时间?
我预计更改时区时timedatectl会更新,但没有:/etc/timezone
% sudo timedatectl set-timezone 'Asia/Kuala_Lumpur'
% cat /etc/timezone
Asia/Bangkok
Run Code Online (Sandbox Code Playgroud)
有没有理由不这样做?(漏洞?)
如果我手动更新/etc/timezone为 match timedatectl set-timezone,是否有我应该注意的副作用?
还有其他地方我应该考虑更改时区,例如xfce4 面板时钟吗?
在我的 Manjaro linux 机器上,我有一个文件/etc/timezone,其中包含:
Asia/Bangkok
Run Code Online (Sandbox Code Playgroud)
另一个 Manjaro 论坛用户也有相同的文件。该线程总体上包含有关此问题的一些现有技术。
奇怪的是timedatectl status不使用这个文件来报告Region/City. 这是初始状态:
$ timedatectl status
Local time: Fri 2018-06-29 11:01:28 +07
Universal time: Fri 2018-06-29 04:01:28 UTC
RTC time: Fri 2018-06-29 04:01:28
Time zone: Asia/Bangkok (+07, +0700)
System clock synchronized: no
systemd-timesyncd.service active: no
RTC in local TZ: no
Run Code Online (Sandbox Code Playgroud)
现在我/etc/localtime用它指向的文件内容覆盖符号链接:
$ sudo ln -f "$(realpath /etc/localtime)" /etc/localtime
$ timedatectl status
Local time: Fri 2018-06-29 04:04:03 UTC
Universal time: Fri 2018-06-29 04:04:03 UTC …Run Code Online (Sandbox Code Playgroud) 我有一个 Fedora 20 安装,时钟设置为 UTC,没有TZ环境变量。为什么该date命令在CET时区(顺便说一下是我的本地时区)中输出日期?
[fedora@slave2 ~]$ ls -l /etc/localtime
lrwxrwxrwx. 1 root root 27 Apr 8 2014 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
[fedora@slave2 ~]$ echo $TZ
[fedora@slave2 ~]$ env | grep TZ
[fedora@slave2 ~]$ date
Wed Mar 18 17:20:44 CET 2015
Run Code Online (Sandbox Code Playgroud)
另外,在一个小java程序中询问时间以UTC输出时间(而如果我将TZ环境设置为CET,则在输出CET中的日期):
[fedora@slave2 ~]$ java DateDemo
Wed Mar 18 16:24:17 UTC 2015
[fedora@slave2 ~]$ TZ=CET java DateDemo
Wed Mar 18 17:24:24 CET 2015
Run Code Online (Sandbox Code Playgroud)
(我DateDemo从http://www.tutorialspoint.com/java/java_date_time.htm得到了java 代码)
附加信息:
[fedora@slave2 ~]$ type date
date …Run Code Online (Sandbox Code Playgroud) 我想通过编辑重置时区/etc/timezone。但是,当我完成编辑并保存文件后,系统时间并没有相应改变。
另一方面,当我利用命令dpkg-reconfigure tzdata更改时区时,时间会立即更改。另外,/etc/timezone文件也相应地进行了修改。
编辑和保存配置文件后,我遗漏了哪些步骤以使新时间生效?