zoukankan      html  css  js  c++  java
  • 【引用】Linux date命令

    和大家分享这篇日志,我的看法是:

     
    原文地址:Linux date命令&nb    原文作者:Davis

    date命令
     

    date命令的功能是显示和设置系统日期和时间。
     

    该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式)
     

    date 设置时间格式
     

    命令中各选项的含义分别为:
     

    -d datestr, --date datestr 显示由datestr描述的日期
     

    -s datestr, --set datestr 设置datestr 描述的日期
     

    -u, --universal 显示或设置通用时间
     

    时间域
     

    % H 小时(00..23
     

    % I 小时(01..12
     

    % k 小时(0..23
     

    % l 小时(1..12
     

    % M 分(00..59
     

    % p 显示出AMPM
     

    % r 时间(hhmmss AMPM),12小时
     

    % s 197011000000到目前经历的秒数
     

    % S 秒(00..59
     

    % T 时间(24小时制)(hh:mm:ss
     

    % X 显示时间的格式(%H:M:S
     

    % Z 时区 日期域
     

    % a 星期几的简称( Sun..Sat
     

    % A 星期几的全称( Sunday..Saturday
     

    % b 月的简称(Jan..Dec
     

    % B 月的全称(January..December
     

    % c 日期和时间( Mon Nov 8 141246 CST 1999
     

    % d 一个月的第几天(01..31
     

    % D 日期(mmddyy
     

    % h %b选项相同
     

    % j 一年的第几天(001..366
     

    % m 月(01..12
     

    % w 一个星期的第几天(0代表星期天)
     

    % W 一年的第几个星期(00..53,星期一为第一天)
     

    % x 显示日期的格式(mm/dd/yy
     

    % y 年的最后两个数字( 1999则是99
     

    % Y 年(例如:19701996等)
     

    注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。
     

    ?        显示日期和时间
     

    在字符界面下,除了可以显示年月之外,用户还可以使用“date”命令的功能是显示和设置系统日期和时间。需要特别说明的是,只有超级用户才能用“date”命令设置时间,一般用户只能用“date”命令显示时间。
     

    用指定的格式显示时间,命令如下:
     

          
     

    # date '+The date of today is%x it is%X ' 
     

    The date of today is14/04/04 it is10:33:01
     
     
     

    其中% x 显示日期的格式(mm/dd/yy),% X 显示时间的格式(%H:M:S)。
     

    其它参数可查看上面的date时间域的设置。
     

    ?        设置时间为上午916
     

    命令如下:
     

    # date -s 09:16:00
     
     

    ?        设置时间为2004414
     

    命令如下:
     

    # date -s 991128
     
     

     其中-s是设置日期的参数。
     

        另外,“date”命令还有许多有用的参数,能够帮助用户随心所欲地设定和显示时间,例如%H显示小时(00..23)、%M显示分(00..59)、%p显示出AMPM%S显示秒(00..59)和%Z显示时区等。熟能生巧,经常将这些命令参数运用起来,相信会有更多意想不到的精彩等着大家。

    获得当天的日期格式

    date_str=`date '+%Y%m%d'`

    date 命令

    用途

    显示或者设置日期或时间。

    语法

    作为 root 用户设置时间和日期


    /usr/bin/date [ -n ] [ -u ] [  Date ] [ +FieldDescriptor ...

    显示日期和时间


    /usr/bin/date [ -u ] [ +FieldDescriptor ... ]

    作为 root 用户以秒为单位调节时间


    /usr/bin/date [ -a ][ + | - ]sss[.fff ]

    描述

    注意: 当系统正有一个以上的用户在运行时请勿更改日期。

    如果不带标志调用或者以 +(加号)开头的标志列表进行调用,date 命令将当前的日期和时间写到标准的输出。否则,它将设置当前的日期。只有 root 用户能够更改时间和日期。遇到任何不认识的标志或输入时,date 命令将打印输出使用消息。

    当以 Date 参数设置日期时,可以使用以下格式:

    • mmddHHMM[YYyy]
    • mmddHHMM[yy]

    Date 参数的变量定义如下:

    mm 表示月份数。
    dd 表示月份中的天数。
    HH 表示一天中的小时数(使用 24 小时制)。
    MM 表示分钟数。
    YY 表示年份的头两个数字。
    注:
    如果您没有指定年份的头两个数字,取值范围从 69 到 99,指的是 20 世纪,包括 1969 年到 1999 年,取值范围从 00 到 68 指的是 21 世纪,包括 2000 年到 2068 年。
    yy 表示年份的后两个数字。
    注:
    date 命令接受 4 个数字的年份的输入。例如,如果指定了 4 个数字的年份,date 命令将会尝试按照“YYyy”设置年份,如果数值超出了范围(小于 1970 年和大于 2037 年)则会造成设置失败。

    若没有指定年份,当前的年份将作为缺省值使用。系统按照全球标准时间(CUT)操作。

    如果您在 date 命令后加上 +(加号)和一个字段描述符,您可以控制命令的输出。您必须在每个描述符之前加上一个 %(百分号)。系统用指定的值替换字段描述符。输入一个文字 % 作为 %%(两个百分号)。date 命令复制任何其它的字符到输出中而不加更改。date 命令始终以换行符作为字符串的结尾。

    标志


     

    -a [ + | - ]sss[.fff ] 缓慢调整时间 sss.fff 秒(fff 代表秒片断)。该调整可以是正向或负向的。系统时钟将会加快或者减慢直到它走到指定的秒数。
    n 请勿在时钟同步的局域网内的所有机器上设置全局时间。
    -u 按照全球标准时间(CUT)显示或者设置时间。

    字段描述符


     

    %a 显示语言环境的简略周日名称。
    %A 显示语言环境的完整周日名称。
    %b 显示语言环境的简略月份名称。
    %B 显示语言环境的完整月份名称。
    %c 显示语言环境适当的日期和时间表示。此为缺省值。
    %C 按十进制数(00-99)显示四个数字代表的年份的前两个数字。一年除以 100 并且只取整数部分。
    %d 按照十进制数显示月份中的日期(01-31)。在两个数字的字段,0 表示前导空间填充。
    %D 按照等同于 %m/%d/%y 的格式显示日期。
    %e 按照十进制数显示月份中的日期(1-31)。在两个数字的字段,空白空间用作前导空格填充。
    %h 显示语言环境的简略月份名称(%b 的同义词)。
    %H 以十进制数(00-23)显示小时(24 小时制)。
    %I 用十进制数(01-12)显示小时(12 小时制)。
    %j 以十进制数(001-366)显示一年中的日期。
    %m 以十进制数(01-12)显示一年中的月份。
    %M 以十进制数(00-59)显示分钟。
    %n 插入 <换行> 字符。
    %p 显示语言环境中 AM 或者 PM 的等价物。
    %r 使用 AM-PM 符号显示 12 小时制(01-12);在 POSIX 语言环境中这个等同于 %I:%M:%S %p
    %S 以十进制数(00-59)显示秒。
    %t 插入 <tab> 字符。
    %T 显示 24 小时制(00-23),按照等同于 HH:MM:SS 的格式。
    %u 按照十进制数从 1 到 7 显示周日(星期天 = 7)。请参考 %w 字段描述符。
    %U 按照十进制数 [00 - 53] 显示一年中的每一周(星期天是一周的第一天)。新的一年中第一个星期天之前的所有天数都认为属于第 0 周。
    %V 按照十进制数从 01 到 53 显示一年中的每一周(星期一是一周的第一天)。如果包含 1 月 1 日的那一周有四天或超过四天在新的一年,那么认为这一周是第 01 周;否则认为是前一年的第 53 周。
    %w 按照十进制从 0 到 6 显示周日(星期天 = 0)。参见 %u 的字段描述符。
    %W 按照十进制以星期一作为一周的第一天来显示一年中的周数(00-53)。
    %x 显示语言环境的适当的日期的表示。
    %X 显示语言环境的适当的时间的表示。
    %y 显示年份的最后两个数字(00-99)。
    %Y 按照十进制以四个数字显示年份。
    %Z 显示时区名称,或者如果没有指定时区则没有字符。
    %% 显示一个 %(百分号)字符。

    修改的字段描述符

    可以修改 %E%O 字段描述符来指出不同的格式或说明,按照 AIX 5L Version 5.2 Files Reference 中的 Locale Definition Source File Format 的 LC_TIME Category 中描述的那样。如果没有指定对应的关键字(请参阅 eraera_yearera_d_fmtalt_digits 关键字),或者当前语言环境不支持,则使用没有修改的字段描述符的值。

    %Ec 显示语言环境的适当备用日期和时间表示。
    %EC 在语言环境的备用表示中显示基准年份名(或者其它时间周期)。
    %Ex 显示语言环境的备用日期表示。
    %EX 显示语言环境的备用时间表示。
    %Ey 在语言环境的备用表示中显示 %EC 字段描述符的偏移量(只针对年)。
    %EY 显示完整的备用年份表示。
    %Od 使用语言环境的备用数字符号显示月份中的日期。
    %Oe 使用语言环境的备用数字符号显示月份中的日期。
    %OH 用语言环境的备用数字符号显示小时(24 小时制)。
    %OI 用语言环境的备用数字符号显示小时(12 小时制)。
    %Om 使用语言环境的备用数字符号显示月份。
    %OM 使用语言环境的备用数字符号显示分钟。
    %OS 使用语言环境的备用数字符号显示秒。
    %Ou 使用语言环境的备用表示以数字显示周日(星期一 = 1)。
    %OU 使用语言环境的备用数字符号显示一年当中的周号。星期天认为是一周中的第一天。
    %OV 使用语言环境可供选择的数字符号显示一年当中的周号。星期一认为是一周中的第一天。
    %Ow 使用语言环境的备用表示以数字显示周日(星期天 = 0)。
    %OW 使用语言环境的备用数字符号显示一年当中的周号。星期一认为是一周中的第一天。
    %Oy 使用备用表示显示年份(%C 的偏移量)。

    退出状态

    此命令返回下列退出值:

    0 该日期已经成功写入。
    >0 发生错误。

    示例

    1. 要显示当前的日期和时间,请输入:
       
        date  
    2. 要设置日期和时间,请输入:
       
        date 0217142590   

      对于使用 CST 时区的系统,这项输入设置日期和时间为:CST 1990 年 2 月 17 日 14:25:00 星期六。

      注意:您必须拥有 root 用户权限才能更改日期和时间。

    3. 要按照指定的格式显示日期和时间,请输入:
       
        date +"%r %a %d %h %y(儒略日期:%j)"  

      示例 2 中显示的日期显示如下:

        02:25:03 PM Fri 17 Feb 90(儒略日期:048)  

    环境变量

    下列环境变量将会影响到 date 命令的执行效果。

    LANG 确定在 LC_ALL 和相应的环境变量(以 LC_ 开头)都不指定语言环境的时候将要使用的缺省语言环境。
    LC_ALL 确定用于覆盖由 LANG 或任何以 LC_ 开头的环境变量设置的任何语言环境类别值的语言环境。
    LC_CTYPE 确定文本数据的字节序列解释为字符时使用的语言环境(例如参数中单对多字节字符)。
    LC_MESSAGES 决定写信息应使用的语言。
    LC_TIME 确定由 date 写入的日期和时间字符串的内容。
    NLSPATH 为处理 LC_MESSAGES 决定消息目录的位置。
    TZ 指定时间和日期使用的时区,除非指定了 -u 选项。如果未设置 TZ 变量且未指定 -u 标志,则使用非指定的系统缺省时区。
  • 相关阅读:
    每个zone的low memory是怎么计算出来的
    /proc/meminfo中meminfo的计算方法
    shmem:
    tc:逼良为娼
    内核抢占
    html/css/javascript知识点集锦;完全小白开搞web编程
    netem设置了网卡的流量控制,为啥发包的延迟就搞不定呢?
    滑动窗口
    发送缓冲区sk_wmem_queued
    ASP.NET MVC 实现区域 项目分离 (比较好的方式)
  • 原文地址:https://www.cnblogs.com/zhihaowang/p/10128615.html
Copyright © 2011-2022 走看看