Linux date命令使用方法

时间:2022-12-07 03:26:38

date命令用来显示或设定以及计算系统的日期和时间。本文主要描述date命令的基本语法和工作中常用的使用方法。

date命令语法

用法:date [OPTION]... [+FORMAT]

常用参数:

-d, --date=STRING 显示由 STRING 指定的时间, 而不是当前时间
-s, --set=STRING 根据 STRING 设置时间
-u, --utc, --universal 显示或设置全球时间(格林威治时间)

常用显示控制参数(更多参数查看man date)

%H     小时(按  小时制显示,用两位表示) (..)
%m 月份(用两位表示) (..)
%M 分钟数(用两位表示) (..)
%s 从 1970年1月1日0点0分0秒到现在历经的秒数 (GNU扩充)
%S 秒数(用两位表示)(..)
%d (月份中的)几号(用两位表示) (..)
%Y 年(用 位表示) (...)

常用实例

1、按照指定的格式显示当前日期和时间

date '+%Y%m%d' //
date '+%Y-%m-%d %H:%M:%S' // 2017-11-20 07:28:20
date '+%s' // 1511134146,1970/01/01 00:00:00 UTC到目前为止的秒数

2、设置系统日期或者时间

date -s  //日期设置成20171120,时间为00:00:00
date -s :: //仅设置时间
date -s '07:01:01 2017-11-20' //设置日期和时间
date -s '07:01:01 20171120' //设置日期和时间
date -s '2017-11-20 07:01:01' //设置日期和时间
date -s '20171120 07:01:01' //设置日期和时间

3、计算距离当前日期指定时长的日期

date +%Y%m%d         //显示当前日期
date +%Y%m%d -d '+1 day' //显示后一天日期
date +%Y%m%d -d '-1 day' //显示前一天日期
date +%Y%m%d -d '-1 month' //显示上一月日期
date +%Y%m%d -d '+1 month' //显示下一月日期
date +%Y%m%d -d '-1 year' //显示前一年日期
date +%Y%m%d -d '+1 year' //显示下一年日期

4、计算距离当前时间差的时间

date  -d '-1 hours' '+%Y%m%d %H:%M:%S' // 获取前1小时的时间
date -d '-1 minutes' '+%Y%m%d %H:%M:%S' //获取前1分钟的时间
date -d '-100 seconds' '+%Y%m%d %H:%M:%S' // 获取前100秒的时间

5、计算距离指定日期的时间差的日期。

date -d "20190327 -3 days" '+%Y%m%d' //20190324。获取20190327前3天的日期
date -d "20190327 +3 days" '+%Y%m%d' //20190330。获取20190327后3天的日期

6、将时间戳转换为标准时间

# date -d "@1279592730" //将时间戳转换为标准时间
Tue Jul :: CST
# date -d "@1279592730" +"%Y-%m-%d %H:%M:%S" //将时间戳转换为标准时间,并按照指定格式输出
-- ::