date命令,前一天,前七天,指定日期用法

date

按格式显示时间或设置系统时间

 date [选项] ... [+格式]
 date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

选项 :

  • -d, --date=STRING
    显示STRING指示的时间,STRING是比较随性的可读的字符串,比如说“2012-06-16 18:31:00”或者“next Thursday”,这个字符串通常包含日历时间、时间、星期、日期、相对时间,相对日期或者数字。
  • -f, --file=DATEFILE
    和-d类似,对文件DATEFILE里的每一行做date -d操作
  • -ITIMESPEC, --iso-8601[=TIMESPEC]
    以ISO 8601格式显示时间/日期。TIMESPEC=date'只显示日期,hours', minutes', orseconds'显示相应的精度. --iso-8601不带TIMESPEC时等同于`date'.
  • -r, --reference=FILE
    显示文件FILE最后修改的时间
  • -R, --rfc-822
    输出与RFC-822相适应的时间字符串
  • -s, --set=STRING
    设置STRING指定的时间
  • -u, --utc, --universal
    输出或者设置UTC时间
格式 说明 实例
%a 缩写的星期名 Thu
%A 全星期名 Thursday
%b 缩写的月名 Aug
%B 全月名 August
%c 日期和时间 Thu Aug 23 14:55:02 2001
%C 年/100 [00,99] 20
%d 十进制表示的每月的第几天 [01,31] 16
%D 月/天/年 [m%/d%/y%] 06/16/12
%e 十进制表示的每月的第几天 ,一位数前加空格[1,31] 10
%F 年-月-日 [Y%-m%-d%] 2012-06-16
%g ISO 8601使用基于周的年的后两位数字 12
%G ISO 8601使用基于周的年 2012
%h 简写的月份名 ,与%b相同 Aug
%H 24小时制的小时 [00,23] 14
%I 12小时制的小时 [01,12] 02
%j 每年的第几天 [001,366] 235
%k 24小时制的小时 [0,23] 5
%l 12小时制的小时 [1,12] 5
%m 十进制的月 [01,12] 08
%M 分钟 [00,59] 55
%n 换行符
%N 十亿分之一秒,纳秒 [000000000,999999999] 000000001
%p AM/PM PM
%P am/pm pm
%r 本地时间:(12时制) 11:01:23 AM
%R 与“%H:%M”相同 11:01
%s 自'00:00:00 1970-01-01 UTC' 的秒数 1339819819
%S 秒 [00,60] 02
%t 水平制表符
%T 与“%H:%M:%S”相同 11:01:23
%u ISO 8601的星期,星期一为1,[1,7] 2
%U 周数 ,以周日为一周开始 [00,53] 33
%V ISO 8601周数 [01,53] 07
%w 星期,星期天为0. [0,6] 4
%W 周数,以星期一为一周开始 [00,53] 34
%x 标准日期 06/16/12
%X 标准时间 14:55:02
%y 年份的后两位数字 [00,99] 12
%Y 2012
%z ISO 8601格式的UTC偏移量 -0500
%Z 时区名 EST
%% 百分号 %

若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数

举例1

date                       # 以默认格式显示当前日期
date -d "1 day"            # 以默认格式显示一天后的日期(还可以 second,minute,..直到year,可以加s表示复数)
date -d "1970-01-01 UTC 1128621784 seconds"    # 以默认格式显示从1970-01-01 UTC起后1128621784秒的日期
date -d "3 day ago" +%Y%m%d    # 以指定格式显示3天前的日期
date -d "1 month" +%Y-%m-%d    # 以指定格式显示一个月后的日期
date -d "1 month" +%s          # 以指定格式显示一个月后的日期(此格式为从1970年1月1日00:00:00到目前经历的秒数,%S为当前的秒数(0~59))
date -d "1970-01-01 CST 1 second" +%s   # 显示从1970-01-01 CST起1秒后的秒数(-28799,注意时区"CST")
date -d "2 hours"                # 2小时前
date -d "1 minutes"             # 1分钟前
date -d "2 seconds"             # 2秒钟前
date -d "20120616" +%s          # 以指定格式显示日期

将时间戳转换成date
#date -d '1970-01-01 UTC 1199116800 seconds'
2008年 01月 01日 星期二 00:00:00 CST

#export LANG=en
#date -d '19700101 UTC 1199116800 seconds'  
Tue Jan  1 00:00:00 CST 2008mi 

举例2:

$ date +%Z  # 显示时区
# CST

$ date +%C  # 显示世纪
# 20

====设置====

$ date 022209102005.46   #月 日 时 分 年. 秒  # 设置时间为: 2005年02月22日09:10:46
#  2月22 09:10:46 CST 2005

$ date -s "+3 hours"    # 将时间增加3小时
#  2月22 09:46:14 CST 2005


$ date -s "-40 minutes"    # 将时间减少40分钟
#  2月22 09:06:35 CST 2005

$ date -s  "+1 year"     # 时间增加1年
#  2月22 09:14:55 CST 2006


$ date -s  "-1 year"    # 时间减少一年
#  2月22 09:15:02 CST 2005

====按日期显示====

$ date -d  "+1 year"
#  2月22 09:57:46 CST 2006

$ date -d "-1 month"
# 1月22 09:49:08 CST 2005

$ date -d "-1 month" +%s
# 1106358557

$ date -d "7 days ago"     # 显示7天前的时间
#  2月15 09:16:09 CST 2005

$ date -d "7 days ago"  +%s   # 显示7天前时间的秒值
# 1108430178

$ date -d "7 days"     # 显示7天后时间的秒值
#  3月  1 09:17:11 CST 2005

$ date -d "7 days"  +%s  # 显示7天后时间的秒值
#1109639824

==============

$ date  # 显示当前系统时间和日期

$ date +%c  # 完整的日期时间显示
#2005年02月22日  星期二  09时32分19秒

$ date -u  # 以格林威治标准时间显示目前时间和日期
#  2月22 01:38:20 UTC 2005

$ date +%x  # 以当地习惯显示日期
# 2005年02月22日

$ date +%D  # 以mm/dd/yy格式显示系统日期
# 02/22/05

$ date +%j  # 今年第几天
# 053

$ date +%U  # 今年第几周
# 08

把时间转成秒

$date -d  "20061206 07:08" +%s
# 1165360080

把秒转换成时间

   $ date
# 2006年07月06日 星期四11:57:18 CST

   $ date -d "now" +%s
# 1152158238
   $ date -d "19700101  1152158238 seconds UTC"
# 2006年07月06日 星期四11:57:18 CST
   $ date -d "@1152158238"
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容