所有文章阅读量
UP | HOME

date-强大的日历相关命令

1. date命令

1.1. date命令基本操作

+后面可以跟各种格式控制符来指定日期和时间的显示格式.例如,date +%Y-%m-%d会显示当前日期m格式为 "年 - 月 - 日",如 "2025-01-06". 常用的格式控制符包括:

表1  date命令基本操作
%a+%A 星期的简写+星期的全称
%b+%B 月份的简写+月份的全称
%D mm/dd/yy格式
%c 当前时区的时间
%e+%d+%m 去零的日期+日期+月份
%H+%M+%S 24小时制式的时间+秒数
%j 一年中的第几天
%n 换行现实
%Y+%y 全称的年和简写的年
%U 一年中的第几个星期

1.2. date –date :: 计算时间

date命令的 –date 参数 可以让date命令按照指定的时间来显示结果 但是我没有想到的是 –date 参数居然支持进行时间的加减运算

下面这段说明摘自 man date

DATE STRING
       The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42  -0800"
       or  "2004-02-29  16:21:42"  or even "next Thursday".  A date string may contain items indicating calendar date,
       time of day, time zone, day of week, relative time, relative date, and numbers.  An empty string indicates  the
       beginning  of  the  day.   The  date  string format is more complex than is easily documented here but is fully
       described in the info documentation.

换句话说,我们可以用它来进行日期间的加减运算,下面是一些例子:

计算2018年11月22日再过60天是什么时候

date --date '2018-11-22 + 60 days' +'%Y-%m-%d'

2019-01-21

计算2018年11月22日,前50天是什么时候

date --date '2018-11-22 - 50 days' +'%Y-%m-%d'

2018-10-03

还可以加上时分秒

date --date '2018-11-22 01:02:03 HKT +12 days +12 hours +15 minutes'

2018年 12月 04日 星期二 13:17:03 HKT

作者: pengshao

Created: 2025-02-17 Mon 23:20

Validate