【引用】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 显示出AM或PM
 

% r 时间(hh:mm:ss AM或PM),12小时
 

% s 从1970年1月1日00:00:00到目前经历的秒数
 

% 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 14:12:46 CST 1999)
 

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

% D 日期(mm/dd/yy)
 

% h 和%b选项相同
 

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

% m 月(01..12)
 

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

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

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

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

% Y 年(例如:1970,1996等)
 

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

?        显示日期和时间
 

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

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

      
 

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

The date of today is:14/04/04 ,it is:10:33:01
 
 
 

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

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

?        设置时间为上午9点16分
 

命令如下:
 

# date -s 09:16:00
 
 

?        设置时间为2004年4月14日
 

命令如下:
 

# date -s 991128
 
 

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

    另外,“date”命令还有许多有用的参数,能够帮助用户随心所欲地设定和显示时间,例如%H显示小时(00..23)、%M显示分(00..59)、%p显示出AM或PM、%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 中描述的那样。如果没有指定对应的关键字(请参阅 era、era_year、era_d_fmt 和 alt_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 标志,则使用非指定的系统缺省时区。

转载于:https://www.cnblogs.com/zhihaowang/archive/2010/12/22/10128615.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值