怎样设置CentOS的系统时间为UTC

2018年6月26日 | 分类: 【技术】

将CentOS系统时间设置为UTC时间

参考:https://blog.itnmg.net/2015/03/03/centos-7-time-date/
参考:https://www.jianshu.com/p/ab82790836df
参考:https://blog.csdn.net/gaohuna02/article/details/53689079

查询系统时间:

timedatectl

软连接时,需要加 -f 参数,强制覆盖,不然会显示软链接已存在

ln -sf /usr/share/zoneinfo/UTC /etc/localtime

设置时间格式:

timedatectl set-time "YYYY-MM-DD HH:MM:SS"
timedatectl set-time "HH:MM:SS"

列出所有时区:

timedatectl list-timezones

设置时区:

timedatectl set-timezone UTC

硬件时间设置成 UTC:

timedatectl set-local-rtc 1
hwclock --systohc --utc

硬件时钟默认使用UTC时间,因为硬件时钟不能保存时区和夏令时调整,修改后就无法从硬件时钟中读取出准确标准时间,因此不建议修改。修改后系统会出现警告。

将硬件时钟调整为与本地时钟一致:

timedatectl set-local-rtc 1
hwclock --systohc --localtime //与上面命令效果一致

是否NTP服务器同步:

yum -y install ntp ntpdate
ntpdate cn.pool.ntp.org
timedatectl set-ntp yes

设置系统时间为中国时区并启用NTP同步:

yum install ntp //安装ntp服务
systemctl enable ntpd //开机启动服务
systemctl start ntpd //启动服务
timedatectl set-timezone Asia/Shanghai //更改时区
timedatectl set-ntp yes //启用ntp同步
ntpq -p //同步时间

如需更改时间服务器, 修改 /etc/ntp.conf 文件中的服务器地址 server 即可.

参考:https://blog.csdn.net/ymd8005/article/details/56845557

mysql里面的时间为datetime类型,是时间戳,不能是:yyyy-MM-dd HH:mm:s
因为还有比秒更小的毫秒时间单位,无法转换。

解决方法:

1. 把mysql的字段改为string或者time类型。

2. 把:

#"format":"yyyy-MM-dd HH:mm:ss"

修改为:

"format": "YYYY-MM-dd'T'HH:mm:ss",

UTC时间详解

2018-04-14T23:27:19.68Z

这是格式化的字符串,默认是ISO 8601标准,是一个日期时间交换格式的国际标准。

ISO 8601标准中:当将date和time在一起表示时,需要在中间加一个T,即Time。而Z代表了Zone,即时区,后面加上Z表示是零时区的时间。要表示其他时区的时间,在时间的后面加上+/-hh:mm来表示时间差,+表示时间早,-表示时间晚。

例如:

2015-02-27T00:07Z(零时区)
2015-02-27T08:07+08:00(东八区)

这两个时间实际是同一个时间,只是时区不同。

Unix时间戳(Unix time),也叫POSIX time、Epoch time,是一套描述时间的体系。

表示自1970年1月1日 00:00:00以来流逝的秒数(未计入leap seconds–用于校正时间的秒数)。

1970年这个参考值时间是基于UTC(世界标准时)的,UTC是国际电信联盟制定的一套国际标准,用于统一世界各地的时间表示。

时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。
时间戳:简单理解为是UTC时间到1970年1月1日的时间差值。

起止日期:1970年1月1日0时0分0秒
一是:现在UTC时间到1970年1月1日0时0分0秒的差值。
二是:现在北京时间到1970年1月1日8时0分0秒的差值。

所以如果Java获取当前时间,然后转出的时间戳是基于当前UTC时间,不是北京时间。

参考:http://blog.sina.com.cn/s/blog_ae78d36f0102vrs7.html
参考:http://www.cnblogs.com/LiuChunfu/p/5785467.html
参考:https://segmentfault.com/a/1190000000646877
参考:https://blog.csdn.net/wanwan5856/article/details/79617915

参考:http://www.cnblogs.com/kaituorensheng/p/3922919.html

GMT(Greenwich Mean Time,格林尼治标准时间):以通过英国格林威治的子午线作为划分地球东西两半球的经度零度。全球都以格林威治的时间作为标准来设定时间。