Linux下date命令使用

       1 于日期和日间背景知识

        UTC时间:翻译为协调世界时,需要由世界上精确的原子时钟来确定秒,并根据地球自转快慢进行闰秒的调节。理论上此时间为世界上最准确的时间。目前各国采用的标准时间。

        GMT时间:翻译为格林尼治时间,由英国格林尼治天文台发布的时间。1960年之前作为世界标准时来使用。理论上正午12点为太阳经过横穿本初子午线的时间,但由于地球自转速度正在变慢,此时间会产生较大的时间误差。但对于日常生活来说GMT和UTC的实际误差并不太重要。

        时区:地理上的概念,将地球上本初子午线两边的半球分别划分为12个时区。各个时区的时间根据世界标准时间进行调整。随地球自转方向,向东每过15度增加1个小时,反之向西每过15度减去1个小时。例如北京位于东8区,则当标准时间为某日00:00:00时,北京时间为早上08:00:00。

        CST:这个缩写的理解比较多。如China stand time,Central stand time,甚至cuba stand time。

       2 date 命令用法

        语法命令如下:date  [option...]  [ +Format ]

        2.1 选项部分

        -d  string    格式化string的时间

        -f   file         格式化file中每行的时间

        -r  file          显示文件的修改时间

        -u                显示为UTC时间,中文系统默认为CST时间

        -s string     将string设置为系统时间,为防止重启后系统从CMOS中重新读取,要使用clock -w将设置的时间写入硬件时钟。

        2.2 格式部分

        日期格式:%[aAbBcCdDeFgGhjmuUVwWxyY]

        %Y        年份2013 %y  年份后两位    %C      年份前两位

        %m       月份01-12

        %d        日01-31         %e = %_d不带前导0,而是空格

        %a      星期的缩写  %A      星期全写       

        %b      月份缩写      %B      月份全写

        %g      周数 1..52

        %j        年日数1-366

        %D      %m/%d/%y   同%x

        %u       周日数1-7     %w 0-6       

         时间格式:%[ HIklMNpPrRsSTXzZ ]

        %H  :  小时00 .. 23   %k无前导0

        %I       小时01... 12   %l 无前导0

        %M     分钟00...59

        %S      秒   00...60

        %T       %H:%M:%S的组合

        %r       本地12小时制式显示时间,如`11:11:04 PM'

        %X      本地24小时制式显示时间,如 23:13:48

        %P      am或pm

        %s       19700101 凌晨起的秒数

        %z        显示时区,东8区格式为 +0800

        格式填充

        除了采用格式参数来控制日期的格式,而可以用填充符号来控制格式,这个填充参数放在%后面使用

        -  不填充

        _ 用空格填充

        0 用0填充

        3 用法实例

        3.1 设置系统时间

        date -s "2013-01-30 13:59:55" +"%Y-%m-%d %H:%M:%S"

        3.2  输出为指定日期

         date +"%y/%m/%d"    格式化当前时间

         date -d "2012-01-30" +"%y/%m/%d"   格式化指定时间

         3.3  与时间戳互转

         date -d "2012-01-30"  +%s     日期转换为时间戳

         date -d @1327852800 +%Y:%m:%d %H:%M:%S    时间戳转换为日期

  

  

      

你可能感兴趣的:(Linux下date命令使用)