1、UTC时间
UTC是协调世界时(Universal Time Coordinated)英文缩写,在不需要将时间精确到秒时,可将GMT(格林尼治时间) 和UTC 视作等同,UTC时间最为科学,目前互联网使用的都是UTC时间
UTC时间比北京晚8个小时
2、GMT时间
GMT时世界时即格林尼治时间,是指格林尼治所在地的标准时间
GMT时间比北京时间晚8小时
3、NTP协议
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议,所使用的时间标准为UTC时间,而不是GMT(格林尼治时间),具体的介绍可以看百科:https://baike.baidu.com/item/NTP/1100433
4、CST时间
CST全名为:Central Standard Time(中央标准时间),CST可视为美国、澳大利亚、古巴或中国的标准时间,所以可以视为北京时间
NTP时间比CST时间晚8小时
CST与NTP对比参考:https://blog.csdn.net/u010865811/article/details/83617225
https://blog.csdn.net/wb96a1007/article/details/7945021
5、ubuntu的时间
使用timedatectl可查看ubuntu系统内的时间,localtime为本地时间,应该使用CST时间,RTC为系统硬件时间
具体参考:https://www.cnblogs.com/EasonJim/p/8111902.html
这里在ubuntu中个人认为需要注意的有两点:一是保证系统时区为北京时区,二是localtime为CST时间,这样才能保证系统时间的正确ubuntu时区设置命令:
dpkg-reconfigure tzdata 或 tzselect 或 timedatectl list-timezones + timedatectl set-timezone Asia/Shanghai
设置CST时间:
timedatectl set-local-rtc 0
开启NTP时间同步:
开启timesyncd 服务:systemctl restart systemd-timesyncd.service,设置同步:timedatectl set-ntp true
参考:https://www.jianshu.com/p/ef851a01d9de
6、mysql时间
之前在https://blog.csdn.net/qq_16334327/article/details/98379748中提到,mysql可能会因为ubuntu为NTP,mysql为CST,时间的不一致导致无法restart
有时mysql的日志时间也可能会不对,多半是因为mysql日志时间为UTP,查看、修改mysql日志的时间方法参考:
https://blog.csdn.net/weixin_34072458/article/details/92306374
7、yii框架程序日志时间
php.ini 设置 date.timezone = Asia/Chongqing
或yii的配置文件中增加 'timeZone'=>'Asia/Chongqing'
参考:https://developer.aliyun.com/ask/82372?spm=a2c6h.13159736