Linux date 命令教程:显示不同日期格式/设置系统时间等

如果想要查看 Linux 中的时间,或者修改 Linux 系统时间,可以使用 date 命令date 命令可以显示或者设置当前日期和时间,它还可用于以指定的格式显示或计算日期。超级用户(root)可以使用它来设置系统时钟。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类 UNIX 系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970 年 1 月 1 日 0 时 0 分 0 秒起流逝的秒数。

 Linux date 命令使用方法

不带任何选项使用时,date 命令显示当前系统日期和时间,包括星期几、月份、时间、时区和年份:

date
Mon Nov 8 20:43:54 CST 2021

要在特定日期进行操作,可以提供带有 -d 标志的 date 命令:

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974

date 有许多显示格式选项。通过在日期前加上加号来为日期提供格式字符串:

date +"Week number: %V Year: %y"
Week number: 45 Year: 21

然后输出格式字符串,每个格式标记替换为其值。%V 是显示当前周数的格式选项,%y 代表年份的最后两位数字。

Linux date 命令具体语法简介

以上是一个简单的例子,方便大家快速熟悉 date 命令,下面看一下 Linux date 命令具体语法。

语法

date[选项][参数]

选项

-d:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
--help:在线帮助;
--version:显示版本信息。

参数

:指定显示时使用的日期时间格式。

日期格式列表

%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)

Linux date 命令更多使用示例

date 命令还提供一些方便的日期选项供使用,比如:

$ date -d now
Mon Nov 8 21:13:38 CST 2021

$ date -d today
Mon Nov 8 21:13:50 CST 2021

$ date -d yesterday
Sun Nov 7 21:14:03 CST 2021

$ date -d tomorrow
Tue Nov 9 21:14:14 CST 2021

$ date -d sunday
Sun Nov 14 00:00:00 CST 2021

$ date -d last-sunday
Sun Nov 7 00:00:00 CST 2021

此外还有: last-weeknext-weeklast-monthnext-monthlast-year 和 next-year

格式化输出

$ date +"%Y-%m-%d"
2021-11-08

输出昨天日期

$ date -d "1 day ago" +"%Y-%m-%d"
2021-11-07

2 秒后输出

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
0

1234567890 秒

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
1

普通转格式

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
2

Apache 格式转换

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
3

格式转换后时间游走

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
4

统计从 1970 年 1 月 1 日到现在的秒数

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
5

统计指定时间到现在的秒数

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
6

查询特定日期是星期几

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
7

加减操作

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
8

使用 date 命令设置系统时间

设定时间

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974
9

在 shell 和脚本里使用 date 命令

下面给几个例子自己体会一下。

1、在 shell 中配合其他命令使用

date +"Week number: %V Year: %y"
Week number: 45 Year: 21
0

2、创建带有时间戳的文件

date +"Week number: %V Year: %y"
Week number: 45 Year: 21
1

3、在脚本中使用 date 命令

date +"Week number: %V Year: %y"
Week number: 45 Year: 21
2

以上就是比较完整的 Linux date 命令使用教程。

搬瓦工优惠/性价比套餐推荐

温馨提醒 如果您有选择困难症,直接选中间的 CN2 GIA-E方案,季付 $49.99,多达 12 个数据中心任意切换

搬瓦工优惠码:BWH3HYATVBJW,优惠6.58%,全场可用。下面表格整理了更多的搬瓦工优惠套餐。

方案 内存 CPU 硬盘 流量/月 带宽 数据中心 价格 购买
CN2
(最便宜)
1GB 1核 20GB 1TB 1Gbps DC3 CN2
DC8 ZNET
$49.99/年 购买
CN2 2GB 1核 40GB 2TB 1Gbps $52.99/半年
$99.99/年
购买
CN2 GIA-E
(最推荐)
1GB 2核 20GB 1TB 2.5Gbps DC6 CN2 GIA-E
DC9 CN2 GIA
日本软银 JPOS_1
联通荷兰 EUNL_9
$49.99/季度
$169.99/年
购买
CN2 GIA-E 2GB 3核 40GB 2TB 2.5Gbps $89.99/季度
$299.99/年
购买
HK 2GB 2核 40GB 0.5TB 1Gbps 香港 CN2 GIA $89.99/月
$899.99/年
购买
HK 4GB 4核 80GB 1TB 1Gbps $155.99/月
$1559.99/年
购买

选择建议:

  • 入门:洛杉矶 CN2 套餐,目前最便宜,可选 CN2 GT 数据中心,入门之选。
  • 推荐:洛杉矶 CN2 GIA-E 套餐,价格适中,速度超快,可选数据中心多,性价比最高。
  • 高端:香港 CN2 GIA 套餐,价格较高,但是无可挑剔。

推荐站内搜索:域名到期查询、免费com域名注册网站、域名空间代理、免费服务器ip代理、香港主机高防、代理服务ip、香港服务器购买、香港vps、ip代理服务器、