跳转至

date 命令


2013-06-02 by dongnan

功能

date命令可以用来显示和修改系统日期时间。

举个栗子

按照 squid access.log 日志的时间格式,使用date命令输出当前时间。

日志格式:

tail /usr/local/squid/var/logs/access.log

123.121.136.13 - - [01/Jun/2013:11:38:44 +0800] xxxx TCP_MEM_HIT:NONE

格式化输出:

date +'%d/%b/%Y:%H'

01/Jun/2013:11

命令帮助

其中,mm为月份,dd为日期,HH为小时数,MM为分钟数,YYYY为年份,SS为秒数。

格式化日期

date +FORMAT,根据指定格式显示当前时间,比如 date +%Y-%m-%d 就是以 YYYY-mm-dd 的形式显示当前日期:

date +%Y-%m-%d
2013-06-02

其它参数:

  • %Y,YYYY格式的年份(Year)。
  • %m,mm格式的月份(),01-12。
  • %d,dd格式的日期(day of month),01-31。
  • %H,HH格式的小时数(),00-23。
  • %M,MM格式的分钟数(),00-59。
  • %S,SS格式的秒数(),00-59。
  • %F,YYYY-mm-dd格式的完整日期(Full date),同%Y-%m-%d
  • %T,HH-MM-SS格式的时间(Time),同%H:%M:%S
  • %s,自1970年以来的秒数。
  • %w,星期几,0-6,0表示星期天。
  • %u,星期几,1-7,7表示星期天。

指定日期

date -d STRING,STRING可谓变化多样,支持很多种日期时间的描述方式。

  • 今天:datedate -d todaydate -d now
  • 明天:date -d tomorrowdate -d next-daydate -d "+1 day"
  • 昨天:date -d yesterdaydate -d last-daydate -d "-1 day"
  • 前天:date -d "2 day ago"date -d "-2 day"
  • 上周:date -d "1 week ago"date -d "-7 day"
  • 上月:date -d last-monthdate -d "-1 month"
  • 去年:date -d last-yeardate -d "-1 year"

更多格式请参考: man date

参考

date常用参数

回到页面顶部