迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中格式化日期和时间

作者:迹忆客 最近更新:2024/03/14 浏览次数:

要在 Linux shell 脚本中格式化日期或时间,请使用标准 date 命令。

相同的命令可用于 shell 脚本。Linux 中的 date 命令显示和更改系统日期和时间。

用户还可以使用此命令以各种格式打印时间并计算未来和以前的日期。


在 Bash 中使用内置的 printf 格式化日期和时间

在大于或等于 4.2 的 bash 版本中,最好使用 printf 内置日期格式化程序而不是外部日期格式化程序。

要获得 YYYY-MM-DD 格式:

$ printf '%(%Y-%m-%d)T\n' -1

-1 表示当前时间。

输出:

2021-12-21

我们也可以将上面的命令写成:

$ printf '%(%F)T\n' -1

输出:

2021-12-21

我们可以通过使用 -v 并指定变量名称来保存当前时间。要将当前时间保存在变量 cdate 中并打印它,我们可以执行以下操作:

$ printf -v cdate '%(%F)T' -1
$ echo $cdate

上面的命令捕获当前日期作为变量并将其存储在 cdate 中,echo 将打印变量的值。

输出:

2021-12-21

在 Bash 中使用 date 命令格式日期和时间

我们可以对低于 4.2 的 bash 版本使用 date 命令。

MM-DD-YY 格式显示当前日期:

$ date +"%m-%d-%y"

+ 符号表示用户定义的格式字符串,它指定日期和时间的显示方式。

输出:

12-21-21

要将年份转换为四位数,请将 y 更改为 Y

$ date +"%m-%d-%Y"

输出:

12-21-2021

我们还可以执行以下操作以 YYYY-MM-DD 格式打印当前日期。

$ date -I

输出:

2021-12-21

仅显示时间:

$ date +"%T"

输出:

13:01:00

HH:MM 格式显示时间:

$ date +"%H-%M"

输出:

13-02

要将当前日期存储在 shell 变量中,我们可以执行以下操作:

$ cdate=$(date +"%m-%d-%Y")
$ echo $cdate

我们已经捕获了当前日期并将其存储在 cdate 中。echo 打印 cdate 值。

输出:

12-21-2021

要在 date 中添加 N 天,我们使用以下命令:

date -d="YYYY-MM-DD+N days"

让我们看一个例子。

$ date -d "2021-12-21+20 days"

输出:

Mon 10 Jan 2022 12:00:00 AM 

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便