• date 命令


    NAME
           date - print or set the system date and time
    DESCRIPTION
    -d, --date=STRING
        显示由 STRING 指定的时间, 而不是当前时间
    -f, --file=DATEFILE
        显示 DATEFILE 中每一行指定的时间, 如同将 DATEFILE 中的每行作为 --date 的参数一样
    -r, --reference=FILE
        显示 FILE 的最后修改时间
    -R, --rfc-822
        根据 RFC-822 指定格式输出日期 ,Example: Mon, 07 Aug 2006 12:34:56 -0600
    -s, --set=STRING
        根据 STRING 设置时间
    -u, --utc, --universal
        显示或设置全球时间(格林威治时间)
    格式 FORMAT 控制着输出格式. 仅当选项指定为全球时间时本格式才有效。 分别解释如下:

    %%
        文本的 %
    %a
        当前区域的星期几的简写 (Sun..Sat)
    %A
        当前区域的星期几的全称 (不同长度) (Sunday..Saturday)
    %b
        当前区域的月份的简写 (Jan..Dec)
    %B
        当前区域的月份的全称(变长) (January..December)
    %c
        当前区域的日期和时间 (Sat Nov 04 12:02:33 EST 1989)
    %d
        (月份中的)几号(用两位表示) (01..31)
    %D
        日期(按照 月/日期/年 格式显示) (mm/dd/yy)
    %e
        (月份中的)几号(去零表示) ( 1..31)
    %F   
     完整日期(同%Y-%m-%d)
    %h
        同 %b
    %H
        小时(按 24 小时制显示,用两位表示) (00..23)
    %I
        小时(按 12 小时制显示,用两位表示) (01..12)
    %j
        (一年中的)第几天(用三位表示) (001..366)
    %k
        小时(按 24 小时制显示,去零显示) ( 0..23)
    %l
        小时(按 12 小时制显示,去零表示) ( 1..12)
    %m
        月份(用两位表示) (01..12)
    %M
        分钟数(用两位表示) (00..59)
    %n
        换行
    %p
        当前时间是上午 AM 还是下午 PM
    %r
        时间,按 12 小时制显示 (hh:mm:ss [A/P]M)
    %s
        从 1970年1月1日0点0分0秒到现在历经的秒数 (GNU扩充)
    %S
        秒数(用两位表示)(00..60)
    %t
        水平方向的 tab 制表符
    %T
        时间,按 24 小时制显示(hh:mm:ss)
    %U
        (一年中的)第几个星期,以星期天作为一周的开始(用两位表示) (00..53)
    %V
        (一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (01..52)
    %w
        用数字表示星期几 (0..6); 0 代表星期天
    %W
        (一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (00..53)
    %x
        按照 (mm/dd/yy) 格式显示当前日期
    %X
        按照 (%H:%M:%S) 格式显示当前时间
    %y
        年的后两位数字 (00..99)
    %Y
        年(用 4 位表示) (1970...)
    %z
        按照 RFC-822 中指定的数字时区显示(如, -0500) (为非标准扩充)
    %Z
        时区(例如, EDT (美国东部时区)), 如果不能决定是哪个时区则为空
    默认情况下,用 0 填充数据的空缺部分. GNU 的 date 命令能分辨在 '%'和数字指示之间的以下修改.

        '-' (连接号) 不进行填充 '_' (下划线) 用空格进行填充
    示例:
    date //打印时间

    date -d "-1 day" +%F //时间计算

     date -s "2019-09-10 00:00:00" //修改时间

     date +"%Y-%m-%d %H:%M:%S" //时间格式化输出

    date -d "2019-10-01 01:02:03" //时间格式转换

    引申:linux中分为系统时钟和硬件时钟,主要两者区别:

    系统时间: 一般说来就是我们执行 date 命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。
    硬件时间(RTC): 主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定),所以系统重启后,date设置会失效。

    赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!

    作者: imcati

    出处: https://www.cnblogs.com/imcati/>

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

  • 相关阅读:
    Leetcode Binary Tree Preorder Traversal
    Leetcode Minimum Depth of Binary Tree
    Leetcode 148. Sort List
    Leetcode 61. Rotate List
    Leetcode 86. Partition List
    Leetcode 21. Merge Two Sorted Lists
    Leetcode 143. Reorder List
    J2EE项目应用开发过程中的易错点
    JNDI初认识
    奔腾的代码
  • 原文地址:https://www.cnblogs.com/imcati/p/11509542.html
Copyright © 2020-2023  润新知