Linux:时间指令 - cal & date

简介: Linux:时间指令 - cal & date

date指令

date用于以指定格式显示时间

我们先看看直接输入date指令的效果:

[hxy@iZ2zehtehrgzt3wqccrpyfZ CSDN]$ date
Tue Mar 12 21:38:01 CST 2024

直接输入date指令,得到了以 星期 月 日 时:分:秒 时区 年为格式的时间。

但是date指令可以按照自己制定的格式来输出时间

使用者可以设定格式,语法为一个 + 后接数个标记

常用标记如下:

标记 含义
%H 小时
%M 分钟
%s
%X 相当于 %H:%M:%S
%d
%m
%Y
%F 相当于%Y-%m-%d

示例:

[hxy@iZ2zehtehrgzt3wqccrpyfZ CSDN]$ date +%F_%X
2024-03-12_09:50:15 PM

以上示例中,+%F_%X这个整体就用于格式化输出,其以一个+开头。对照上方的标记表格,其实%F就对应了2024-03-12%X就对应了09:50:15 PM,而他们的分隔符也是可以有我们自己穿插的:

[hxy@iZ2zehtehrgzt3wqccrpyfZ CSDN]$ date +%Y:%m-%d_%H
2024:03-12_21

这样每个标记都显示了自己代表的时间,而每个时间之间的符号完全由我们自己决定。


date指令还可以用于输出时间戳,先简单讲解一下时间戳的概念:

时间戳是从格林威治时间1970年01月01日00时00分00秒开始至今所经过的秒数

通过+%s来获取时间戳:

示例:

[hxy@iZ2zehtehrgzt3wqccrpyfZ CSDN]$ date +%s
1710251847

其中1710251847就是当前的时间戳。

通过-d @1710252008,把时间戳转化为时间:

示例:

[hxy@iZ2zehtehrgzt3wqccrpyfZ CSDN]$ date -d @1710252008
Tue Mar 12 22:00:08 CST 2024

可以看到,1710252008时间戳代表的就是2024年3月12日22:00:08,我们也可以按照制定格式输出刚刚的时间戳:

[hxy@iZ2zehtehrgzt3wqccrpyfZ CSDN]$ date +%X_%F -d @1710252008
10:00:08 PM_2024-03-12

现在我们再看一看0时间戳的时间:

[hxy@iZ2zehtehrgzt3wqccrpyfZ CSDN]$ date -d @0
Thu Jan  1 08:00:00 CST 1970

可以看到,0时间戳确实是1970年1月1日,但是为什么是在早上8:00

这是因为我们的Linux服务器在中国,中国在东八区,所以格林威治时间00时00:00时,东八区的时间就是8:00


cal指令

cal指令可以用来显示公历日历

我们直接使用cal试试看:

可以看到,其输出了当前月份的日历,并且高亮标出了当前是几号

接下来我们再看几个常用选项:

  • -3选项可以同时输出当前月份的前后一个月:

  • -j选项,将数字从输出当月的第几号,改为输出当年的第几号:

  • -y选项,输出目前一整年的日历:


相关文章
|
5天前
|
Linux
Linux:文件读取指令
Linux:文件读取指令
14 2
|
5天前
|
缓存 安全 Linux
Linux入门基本指令(2)
Linux入门基本指令(2)
13 0
|
5天前
|
Linux Windows
Linux入门基本指令(1)-2
Linux入门基本指令(1)
12 1
|
5天前
|
Linux 数据安全/隐私保护 Windows
Linux入门基本指令(1)-1
Linux入门基本指令(1)
16 1
|
5天前
|
算法 Linux
Linux:文件增删 & 文件压缩指令
Linux:文件增删 & 文件压缩指令
9 0
|
5天前
|
人工智能 数据可视化 Unix
【Linux】Linux系统基础指令 ( 1 )
本文讲解的指令是基础的操作,下一篇文章我们将继续讲解不同指令。
17 0
|
7月前
|
存储 Linux C语言
Linux:入门学习知识及常见指令
Linux:入门学习知识及常见指令
|
5天前
|
人工智能 Unix Linux
Linux的学习之路:2、基础指令(1)
Linux的学习之路:2、基础指令(1)
28 0
|
5天前
|
Unix Linux Windows
Linux的学习之路:3、基础指令(2)
Linux的学习之路:3、基础指令(2)
33 0