① linux修改时区时间命令
. 前言
如果你想修改Linux系统里的时间,本文合适你。Linux上有多种修改时间的命令工具,本文介绍最常用、最通用的方法。
linux修改时间
先来了解世界时间的标准,包括GMT、UTC、CST、DST、以及操作系统同步时间的方式
1.1 UTC
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。
1.2 GMT
格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
UT(世界时)和GMT(格林威治标准时)是相同的时间标准,都是基于天体观察的。
UT 是相同标准的“科学”名称。GMT:格林威治时间,是标准的“民间”名称。
因此,格林威治标准时(GMT)和世界时 (UT) 是相等的。
UTC是我们现在用的时间标准,GMT是老的时间计量标准。UTC是根据原子钟来计算时间,而GMT是根据地球的自转和公转来计算时间,也就是太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间就是中午12点。由于现在世界上最精确的原子钟50亿年才会误差1秒,可以说非常精确。而GMT因为是根据地球的转动来计算时间的,而地球的自转正在缓速变慢,所以使用GMT的话,会不太精准,一般情况那感觉不到差异,但是UTC更加科学和精确。
1.3 CST
中国标准时间 (China Standard Time)
1.4 DST
夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用。(中国不使用)
我们需要知道的是:
GMT + 8 = UTC + 8 = CST
1.5 操作系统时间
以Linux为例,其实Windows或者其他操作系统也是类似的。
Linux时间有两个时间:
Wall Time:系统时间,该时间由系统维护,可以是临时,也可以是网络上同步回来的,也可以是从硬件读取出来的,前提条件是系统服务正常运行,如果系统关机了,那就不存在Wall Time
RTC Time:RTC(Real-Time Clock)或CMOS时间,即硬件时间,你可以理解为主板BIOS在一声声哀嚎声中,数学老师带着一摞试卷走了进来。
好像是因为冬天天冷,体育老师冻感冒了。
所以变成了两节数学课,顺便考个试。
数学老师名叫欧岛,一个很富有数学气息的名字,常年带着一个黑框眼睛。
卷子陆续分发。
作为一个学渣,苏牧无奈的拿出了数学参考资料,想碰碰运气看能不能找到原题。
“叮!查看了数学题目,数学积分+1,当前积分1/100,等级:一级”
突然,从脑海中冒出来的声音,将他吓了一大跳,差点没从凳子上滑落下来。
一旁的同桌颜小珂忍住没有笑场。
欧岛则是狠狠的瞪了苏牧一眼。
“???…”
苏牧瞪大了眼睛,有些不可置信。
“这是什么鬼东西?这是系统??居然真的有系统这种东西?”
苏牧继续翻动,又出现了同样的声响。
“叮!您查看了数学题目,数学积分+1,当前积分2/100,等级:一级”
他只是瞟了一眼,居然就增加了积分?
苏牧觉得自己的脑子清明了些。
这些陌生的数学题目,似乎看起来也熟悉了几分。
他越发的激动起来。
这些都是真正出现在他眼前的变化!
苏牧翻书的动作越来越快,积分也越来越多,直到欧岛走过来站到了他的面前,才反应过来迅速收了回去。
这个时候,他的积分已经达到了81/100。
他并没有慌张,而是继续将试卷上的题目查看了一遍。
终于,系统迎来了新的提示音。
“叮,您的数学积分已经足够,等级:二级,当前积分0/1000!”
这一瞬间,苏牧仿佛像醍醐灌顶一般,曾经那些陌生的数学题,仿佛变成了多年的好友!
他居然!
看懂了!
看懂了!!
居然看懂了!!
苏牧的内心顿时内流满面,颇有苦尽甘来的感觉。
仿佛是要检验自己的成果,苏牧的心思完全沉寂在了试卷之中,这是一个学渣对于知识的渴望。
时间一点一滴的过去,就连苏牧自己都没有发现。
可惜的是,虽然他的数学已经达到了二级,但还是有些题目没办法运算出来。
“叮…..”
这一次不是系统的提示音,而是下课的铃声。
苏牧真的是头一次感受到了时间过的如此之快。
曾经漫长的两个小时,现在居然还让他有些意犹未尽。
这就是学霸的感觉吗?他默默的想到。
这张试卷,苏牧觉得自己应该是103分。
因为不会的题目他都空着。
而那些简单一点的题目,苏牧有一种迷之自信。
他得出的答案,一定是正确答案!
……
“我要好好学习了。”
强忍住内心的激动,苏牧摆正了
② 怎么把linux上的UTC时间改成CST时间
[root@localhost ~]# date
Fri Apr 14 23:26:05 EDT 2006 //EDT (美国)东区时区
[root@localhost ~]# date -s 2011/9/30
Fri Sep 30 00:00:00 EDT 2011
[root@localhost ~]# date -s 14:18
Fri Sep 30 14:18:00 EDT 2011
[root@localhost ~]# date
Fri Sep 30 14:18:01 EDT 2011
[root@localhost ~]# hwclock -w
/usr/share/zoneinfo/Asia/ 下保存着系统各个时区信息
/etc/localtime 保存当前系统时区及时间信息
[root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite `/etc/localtime’? y
[root@localhost ~]# date
Sat Oct 1 02:20:03 CST 2011 //更改为CST
[root@localhost ~]# date -R
Sat, 01 Oct 2011 02:21:45 +0800
然后重新设置下时间即可。
我们也可以通过rh系统中的命令来修改:
[root@localhost ~]# tzselect // tzselect – select a time zone
比较人性化,可以根据提示直接修改即可。
③ linux系统怎么改时间
方法/步骤
首先输入date的时候,系统输出的是linux的当前时间
④ 怎样更改linux小红帽系统时区由mst改成cst
1) 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai
用这个文件替换当前的/etc/localtime文件。
2) 修改/etc/sysconfig/clock文件,修改为:
ZONE="Asia/Shanghai"
[color=red]UTC=true[/color]
ARC=false
3)
时间设定成2005年8月30日的命令如下:
#date -s 08/30/2005
将系统时间设定成下午6点40分0秒的命令如下。
#date -s 18:40:00
4)
同步BIOS时钟,强制把系统时间写入CMOS,命令如下:
#clock -w
5)重启apache。
参考资料二、
本文档解释了如何从linux下设置计算机的时钟,如何设置您的时区和其它与linux如何保存时间相关的材料。
您的计算机有两个时钟,一个是始终运行的、由电池供电的( 硬件的、BIOS或CMOS )时钟,另一个是由运行在您的计算机上的操作系统维护的( 系统 )时钟。硬件时钟通常只在操作系统启动时用来设置系统时钟,然后直到重启或关闭系统,由系统时钟来记录时间。在Linux 系统中,您可以选择用UTC/GMT 时间或本地时间来记录硬件时钟。推荐的选项是用UTC 记录,因为夏令时可以自动记录。使用UTC 记录硬件时钟的唯一不足是,如果您使用双系统,其它操作系统,如DOS 要求硬件时钟用本地时间设置,那么在那个操作系统里时间将是错误的。
设置时区:
Linux 下的时区是通过建立从/etc/localtime[1] 到/usr/share/zoneinfo [2] 目录下与您所在时区相符的文件的符号链结实现的。例如,由于我在南澳大利亚,/etc/localtime就是到 /usr/share/zoneinfo/Australia/South的符号链结。要建立这个链结,运行:
ln -sf ../usr/share/zoneinfo/your/zone /etc/localtime
替换your/zone 为形如Australia/NSW或Australia/Perth 的文件。看看/usr/share/zoneinfo目录都有什么时区。
[1] 这里假设/usr/share/zoneinfo 是到/etc/localtime 的链结的前提是Redhat Linux
[2] 在旧版本的系统里,您会发现使用/usr/lib/zoneinfo而不是/usr/share/zoneinfo。参考后面“一些应用程序中时间错误”。
⑤ Linux 7系统修改时间
1 TIMEDATECTL命令
该命令是作为systemd系统和服务管理器的一部分分发的工具,可以用它来查看和更改系统时钟的配置,包括更改当前的日期和时间、设置时区以及可以激活与远端服务器系统时钟的自动同步,是红帽企业版 7 版本新增的命令。
1.1 展示当前日期和时间
可以使用timedatectl命令来展示当前日期和时间,并且有系统和硬件时钟的配置的详细信息。
[root@strong ~]# timedatectl
Local time: Sat 2019-09-21 15:02:27 CST
Universal time: Sat 2019-09-21 07:02:27 UTC
RTC time: Sat 2019-09-21 07:02:27
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
1.2 更改当前时间
更改当前时间,命令格式为:timedatectl set-time HH:MI:SS。
该命令同时更改系统时间和硬件时钟,执行结果与使用命令date --set 和hwclock --systohc的效果相同。
[root@strong ~]# timedatectl set-time 20:00:00
[root@strong ~]# timedatectl
Local time: Sat 2019-09-21 20:00:04 CST
Universal time: Sat 2019-09-21 12:00:04 UTC
RTC time: Sat 2019-09-21 12:00:05
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
[root@strong ~]# timedatectl set-time 2019-09-15
[root@strong ~]# timedatectl
Local time: Sun 2019-09-15 00:00:03 CST
Universal time: Sat 2019-09-14 16:00:03 UTC
RTC time: Sat 2019-09-14 16:00:03
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
仅仅更改日期,时间会变为00:00:00,故更改日期时需把对应的时间加上,例如:timedatectl set-time "2019-09-21 15:16:00"。
1.4 更改时区
1.4.1 列出所有时区
[root@strong ~]# timedatectl list-timezones
1.4.2 更改时区
[root@strong ~]# timedatectl set-timezone Asia/Shanghai
2 DATE命令
该命令在所有Linux系统都可用,用于设置和查看当前日期和时间,常用于脚本中以格式化的形式用于展示系统时间的详细信息。
2.1 展示当前日期和时间
1)不带任何格式展示
[root@strong ~]# date
Sat Sep 21 15:24:57 CST 2019
默认展示的是本地时间,以UTC的方式展示,需使用date --utc或date -u。
[root@strong ~]# date --utc
Sat Sep 21 07:25:50 UTC 2019
2)格式化展示
客制化日期和时间的展示格式,使用命令:date +"格式"。
常用的格式为:
控制格式
描述
%H
以HH格式展示小时;
%M
以MM格式展示分钟;
%S
以SS格式展示秒;
%d
以DD格式展示天数;
%m
以MM格式展示月;
%Y
以YYYY格式展示年;
%Z
时区;
%F
以YYYY-MM-DD格式展示日期,和%Y-%m-%d等价;
%T
以HH:MM:SS格式展示时间,和%H:%M:%S等价;
[root@strong ~]# date
Sat Sep 21 15:37:18 CST 2019
[root@strong ~]# date +"%Y-%m-%d %H:%M:%S"
2019-09-21 15:38:00
2.2 更改当前时间
更改当前时间,命令格式为:date --set HH:MM:SS。
[root@strong ~]# date --set 15:40:20
Sat Sep 21 15:40:20 CST 2019
2.3 更改当前日期
更改当前日期,命令格式为:date --set YYYY-MM-DD。
[root@strong ~]# date --set 2019-09-25
Wed Sep 25 00:00:00 CST 2019
仅仅更改日期,时间会变为00:00:00,故更改日期时需把对应的时间加上,例如:
[root@strong ~]# date --set "2019-09-21 15:42:35"
Sat Sep 21 15:42:35 CST 2019。
3 CLOCK命令
该命令是用于访问硬件时钟的工具,也称为Real Time Clock(RTC),对应的设置保存在/etc/adjtime文件中。硬件时钟独立于操作系统,即使系统关闭,它仍然工作,用于从硬件时钟展示时间。
3.1 展示当前日期和时间
[root@strong ~]# hwclock
Sat 21 Sep 2019 03:51:24 PM CST -0.368709 seconds
3.2 设置日期和时间
设置日期和时间的命令为:hwclock --set --date "dd mmm yyyy HH:MM"
[root@strong ~]# hwclock --set --date "21 Sep 2019 16:02:25"
[root@strong ~]# hwclock
Sat 21 Sep 2019 04:02:35 PM CST -0.342764 seconds
3.3 同步日期和时间
可以使用hwclock命令在硬件时钟和当前系统时间直接互相同步。
3.3.1 系统时间同步到硬件时钟
[root@strong ~]# hwclock --systohc
3.3.2 硬件时钟同步到系统时间
[root@strong ~]# hwclock --hctosys