这几个月到了日本做开发,阿里云的服务器时间也想设置成日本的,方便服务器存取时间。所以研究了一下设置时间。
首先,查看当前的时间设置:
timedatectl status
Local time: Tue 2018-06-19 14:38:54 CST
Universal time: Tue 2018-06-19 06:38:54 UTC
RTC time: Tue 2018-06-19 14:38:54
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: yes
DST active: n/a
这几个字段基本不用解释。。如何要更改时区time zone呢?那最好先列出所有可用的时区:
timedatectl list-timezones
这个有点多,所以找到自己想要的时区Asia/Tokyo就行,然后修改时区:
timedatectl set-timezone Asia/Tokyo
可能需要输入root密码,然后再查看时区,就发现已经变成
Local time: Tue 2018-06-19 15:45:04 JST
Universal time: Tue 2018-06-19 06:45:04 UTC
RTC time: Tue 2018-06-19 15:45:05
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: yes
DST active: n/a
其实不考虑各个发行版的差异化, 从更底层出发,可以如此修改:
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
实测也是有效的。
实际开发时,为了避免跨境的服务器和客户端时间显示有偏差,最好存取时间使用timestamp时间戳,然后页面显示时再转化。