一、查看和修改Linux的时区
1. 查看当前时区
命令 : date -R
Thu, 07 Jan 2021 10:23:02 -0800
2. 修改设置Linux服务器时区
方法 A
命令 : tzselect
方法 B,仅限于RedHat Linux 和 CentOS
命令 : timeconfig
方法 C,适用于Debian
命令 : dpkg-reconfigure tzdata
3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
例如:在设置中国时区使用亚洲/上海(+8)
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
二、查看和修改Linux的时间
1. 查看时间和日期
命令:date
Thu Jan 7 10:31:32 PST 2021
命令:date +"%Y-%m-%d"
注意:加号要与date有空格,与%Y没有空格,要带双引号;还要注意大小写。大写Y表示年份,小写m表示月份,大写M则是分钟,小写d表示天。
2021-01-07
命令:date +"%H-%M-%S"
注意:大写的S表示秒
10-33-01
2.设置时间和日期
例如:将系统日期设定成2021年01月19日14点29分30秒的命令
命令:date -s "2021-01-19 14:29:30"
注意:设置时间需要使用双引号括起来,否则会报错
3. 将当前时间和日期写入BIOS,避免重启后失效
命令 : hwclock -w
三、date与cal
1. date -->查看与设置系统时间和日期
语法:date
date [+格式符]
date [选项] [+格式符]
选项:
-r:选项后加文件名;显示文件的最后修改时间
-u:显示GMT(世界时)
格式符:
%n:换行符
%t:相当于“TAB”键
%C:显示当前世纪
%G&%Y:显示完整年份
%y&%g:显示缩写年份
%U& %V&%W:一年的第几个星期(00~53,星期一为第一天)
%j:显示今天是一年当中的第几天
%d&%e:显示今天是一个月当中的第几天
%B:显示当前月份
%h&%b:显示月
%m:显示当前月份是12个月里的第几个
%A:查看今天是星期几(完整名称)
%a:查看今天是星期几(缩写名称)
%w&%u:查看今天是星期几(数字名称)
%P&%p:显示上午还是下午
%r:显示上午还是下午+时分秒
%R:显示小时分钟(格式:小时:分钟)
%H%k:小时(24小时制)
%I:小时(12小时制)
%M:显示分
%S:显示秒
%N:显示纳秒
%F:显示当前日期(格式:年-月-日)
%x:显示当前日期(格式:年 月 日)
%D:显示当前日期(格式:月/日/年)
%X:显示当前时间(格式:时 分 秒)
%T:显示当前时间(格式:时:分:秒)
%c:显示日期、星期、时间
%s:时间戳,从1970年1月1日00:00:00到现在经历的秒数
%Z:显示时区
例如:查看今天是一年中的第几天
2.cal -->显示当前系统上的日历
语法:cal
cal [完整年份]
cal [月份] [完整年份]
cal [选项...]
cal [选项...] [年份]
选项:
-1:显示一个月的日历(默认)
-3:显示三个月的日历
-s:显示星期天为一个星期的第一天(默认)
-m:显示星期一为一个星期的第一天
-j:显示今天是一年中的第几天
-y:显示当前年份的日历
例如:将星期日作为一星期中的第一天
例如:将星期一作为一星期中的第一天
例如:显示今年的日历并显示今天是今年的哪一天
四、一个小故事
有没有感到很奇怪?哈哈,1752年9月的日历从3日~13日都没有了。为什么呢?因为这里有一个故事(历史上真实发生的事儿)。
百度百科上是这样说的:1752年9月,大英帝国极其所属美洲殖民地的恺撒历法被格里高利教皇历法所取代。由于恺撒历法比格里高利历法迟11天,因此9月2日当天改历法后,次日须为9月14日。现行的公历是格利戈里历法,这个历法的是1582年教皇格利戈里根据恺撒大帝引进的算法改进的。它采用的是闰年制也就是现行的制度,不过有一个需要注意的地方就是,这个历法并不是连续的,中间缺少了11天。1752年9月2日之后的那一天并不是1752年9月3日,而是1752年9月14日。也就是说,从1752年9月3日到1752年9月13日的11天并不存在。抹掉这11天是由英国议会做出的决定。所以要计算某年每个月的天数的,除了要考虑是否是闰年以外,还要考虑1752年的9月。
这段历史,只有学Linux,才有可能了解到。