zoukankan      html  css  js  c++  java
  • 【收藏】【Linux】date命令用法详解(日期格式)

    显示时间是个常用的命令,在写shell脚本中也经常会用到与日期相关文件名或时间显示。无论是linux还是windows下都是date命令。

    Linux下date命令用法

    • date [OPTION]… [+FORMAT]
    • date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

    date命令参数

    • -d, –date=STRING  显示STRING指定的时间
    • -f, –file=DATEFILE  类似–date参数显示DATEFILE文件中的每行时间
    • -ITIMESPEC, –iso-8601[=TIMESPEC]  以ISO  8601 格式显示日期/时间。TIMESPEC为”date”(只显示日期)、”hours”、”minutes”、”senconds”(显示时间精度)之一,默认为”date”。
    • -r, –reference=FILE  显示文件的最后修改时间
    • -R, –rfc-2822  以RFC-2822兼容日期格式显示时间
    • -s, –set=STRING  设置时间为STRING
    • -u, –utc, –universal  显示或设定为Coordinated Universal Time时间格式

    date命令输出显示格式

    • %%    字符%
    • %a     星期的缩写(Sun..Sat)
    • %A    星期的完整名称 (Sunday..Saturday)
    • %b     月份的缩写(Jan..Dec)
    • %B     月份的完整名称(January..December)
    • %c     日期时间(Sat Nov 04 12:02:33 EST 1989)
    • %C     世纪(年份除100后去整) [00-99]
    • %d     一个月的第几天(01..31)
    • %D     日期(mm/dd/yy)
    • %e     一个月的第几天 ( 1..31)
    • %F    日期,同%Y-%m-%d
    • %g     年份(yy)
    • %G     年份(yyyy)
    • %h     同%b
    • %H    小时(00..23)
    • %I     小时(01..12)
    • %j     一年的第几天(001..366)
    • %k     小时( 0..23)
    • %l      小时( 1..12)
    • %m    月份(01..12)
    • %M    分钟(00..59)
    • %n     换行
    • %N     纳秒(000000000..999999999)
    • %p     AM or PM
    • %P     am or pm
    • %r     12小时制时间(hh:mm:ss [AP]M)
    • %R    24小时制时间(hh:mm)
    • %s     从00:00:00 1970-01-01 UTC开始的秒数
    • %S     秒(00..60)
    • %t     制表符
    • %T    24小时制时间(hh:mm:ss)
    • %u     一周的第几天(1..7);  1 表示星期一
    • %U     一年的第几周,周日为每周的第一天(00..53)
    • %V     一年的第几周,周一为每周的第一天 (01..53)
    • %w     一周的第几天 (0..6);  0 代表周日
    • %W    一年的第几周,周一为每周的第一天(00..53)
    • %x     日期(mm/dd/yy)
    • %X     时间(%H:%M:%S)
    • %y     年份(00..99)
    • %Y     年份 (1970…)
    • %z     RFC-2822 风格数字格式时区(-0500)
    • %Z     时区(e.g., EDT), 无法确定时区则为空

    以下是做的一些实验,便于理解

    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    $ date -d "2010-11-15 23:00:01"
    Mon Nov 15 23:00:01 PST 2010
    $ date -d "2010/11/15 23:0:2"
    Mon Nov 15 23:00:02 PST 2010
    $ date -d "2010/11/15T23:0:2"
    Mon Nov 15 08:00:02 PST 2010
    $
    $ echo "2010-11-15 23:00:01" > date.txt
    $ echo "2010/11/15 23:00:02" >> date.txt
    $ cat date.txt
    2010-11-15 23:00:01
    2010/11/15 23:00:02
    $ date -f date.txt
    Mon Nov 15 23:00:01 PST 2010
    Mon Nov 15 23:00:02 PST 2010
    $
    $ ls -l
    total 4
    -rw-r--r-- 1 znan sybase    40 Nov 15 21:14 date.txt
    $ date -r date.txt
    Mon Nov 15 21:14:36 PST 2010
    $
    $ date -I
    2010-11-15
    $ date -Ihours
    2010-11-15T21-0800
    $ date -Iminutes
    2010-11-15T21:16-0800
    $ date -Iseconds
    2010-11-15T21:16:24-0800
    $
    $ date -R
    Mon, 15 Nov 2010 21:47:08 -0800
    $ date -u
    Tue Nov 16 05:47:13 UTC 2010
    $
    $ date +"Today is %A."
    Today is Monday.
    $ date +"Date:%b. %e, %G"
    Date:Nov. 15, 2010
    $ date +"Date: %b.%e, %G"
    Date: Nov.15, 2010
    $ date +"%x %X"
    11/15/2010 09:50:21 PM
    $ date +"%Y-%m-%d %H:%M:%S"
    2010-11-15 21:51:32
    $ date +"%Y-%m-%d %I:%M:%S %p"
    2010-11-15 09:51:55 PM
    $
  • 相关阅读:
    2017-2018-1 20155209 20155230 实验四 外设驱动程序设计
    2017-2018-1 20155230《信息安全系统设计基础》第十一周学习总结
    20155209 20155230 《信息安全技术》实验四 木马及远程控制技术
    2017-2018-1 20155230 实验三 实时系统
    2017-2018-1 20155230 mypwd实现
    2017-2018-1 20155230 《信息安全系统设计基础》第九周学习总结
    20155204《信息安全系统设计基础》课程总结
    20155204 《信息安全系统设计基础》第十四周学习总结
    20155204 《信息安全系统设计基础》第十三周学习总结
    2017-2018-1 20155203 20155204 实验五 通讯协议设计
  • 原文地址:https://www.cnblogs.com/sunson/p/2604521.html
Copyright © 2011-2022 走看看