- UTC,即Universal Time Coordinated, 协调世界时
- GMT,即Greenwich Mean Time, 格林尼治平时
- RTC时间,即Real-time clock,是电脑的硬件时间
Windows 与 Linux 缺省系统硬件时间:
Windows把系统硬件(RTC)时间当作本地时间(local time),即系统时间与BIOS中显示的时间(RTC)一样。
时区:因时区不同显示的时间不同,牵扯到夏令时和调整等问题,date命令可查看
系统时钟(System Clock): linux OS的时间,date命令可查看,系统时间是UTC+8(北京时间是GMT+8)
硬件时钟(RTC):Real Time Clock 主板上由电池供电的BIOS时间,hwclock -r可查看,Linux把 UTC当作硬件时间
NTP(Network Time Protocol):本机时间和实际的时间之间的经常会有差别,一般使用NTP服务器进行时间校准
timedatectl常见用法:
查看当前时间/日期/时区:timedatectl或者timedatectl status
查看所有可用时区:timedatectl list-timezones
设置时区:timedatectl set-timezone “时区信息”
设置UTC:timedatectl set-timezone UTC
设置时间:timedatectl set-time HH:MM:SS
设置日期:timedatectl set-time YYYY-MM-DD
设置日期时间:timedatectl set-time “YYYY-MM-DD HH:MM:SS”
设置硬件时钟为本地时间:timedatectl set-local-rtc 1
设置硬件时钟为UTC时间:timedatectl set-local-rtc 0
启动NTP时间同步(启用NTP服务或者Chrony服务):timedatectl set-ntp true
禁用NTP时间同步:timedatectl set-ntp false
1、方法1:在Ubuntu系统中,命令行输入
2、方法2:(对于低版本的Ubuntu系统可能有效)
让Ubuntu不使用UTC时间, 而使用BIOS时间:
将 /etc/default/rcS 中的 UTC=yes 改为 no // 高版本(16.04之后)的Ubuntu系统可能在default文件夹下找不到rcS文件,见方法3
让Windows使用UTC时间,而不使用BIOS时间:
开始->运行->CMD,打开命令行程序(Vista则要以管理员方式打开命令行程序方可有权限访问注册表),
在命令行中输入下面命令并回车:
3、方法3 :终端输入:timedatectl set-local-rtc 1 --adjust-system-clock 重启。
--adjust-system-clock,当使用set-local-rtc命令时,若使用了此选项,则表示根据RTC时间来更新系统时钟,而不是用UTC来更新(UTC需要+8)。若未使用此选项,则表示根据系统时钟来更新RTC时间。
参考博文: