zoukankan      html  css  js  c++  java
  • date 命令及实例讲解

    命令及实例

    命令实例


    1、man手册
    1.1、调用格式
      date [选项] ... [+格式]
      date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
     
    1.2、功能
        按格式显示时间或设置系统时间。
     
    1.3、选项
    -d--date=STRING
    显示STRING指示的时间,STRING是比较随性的可读的字符串,比如说“2012-06-16 18:31:00”或者“next Thursday”,这个字符串通常包含日历时间、时间、星期、日期、相对时间,相对日期或者数字。
    -f--file=DATEFILE
         和-d类似,对文件DATEFILE里的每一行做date -d操作
    -ITIMESPEC--iso-8601[=TIMESPEC]
    以ISO 8601格式显示时间/日期。TIMESPEC=`date'只显示日期, `hours', `minutes', or `seconds'显示相应的精度. --iso-8601不带TIMESPEC时等同于`date'.
    -r--reference=FILE
    显示文件FILE最后修改的时间
    -R--rfc-822
    输出与RFC-822相适应的时间字符串
    -s--set=STRING
    设置STRING指定的时间
    -u--utc--universal
    输出或者设置UTC时间
    --help
    显示命令帮助
    --version
    输出版本信息
    1.4、格式

    格式

    说明

    实例

    %a

    缩写的星期名

    Thu

    %A

    全星期名

    Thursday

    %b

    缩写的月名

    Aug

    %B

    全月名

    August

    %c

    日期和时间

    Thu Aug 23 14:55:02 2001

    %C

    /100 [00,99]

    20

    %d

    十进制表示的每月的第几天 [01,31]

    16

    %D

    月/天/年 [m%/d%/y%]

    06/16/12

    %e

    十进制表示的每月的第几天 ,一位数前加空格[1,31]

    10

    %F

    年-月-日 [Y%-m%-d%]

    2012-06-16

    %g

    ISO 8601使用基于周的年的后两位数字 

    12

    %G

    ISO 8601使用基于周的年

    2012

    %h

    简写的月份名 ,与%b相同

    Aug

    %H

    24小时制的小时 [00,23]

    14

    %I

    12小时制的小时 [0112]

    02

    %j

    每年的第几天 [001,366]

    235

    %k

    24小时制的小时 [0,23]

    5

    %l

    12小时制的小时 [112]

    5

    %m

    十进制的月 [0112]

    08

    %M

    分钟 [0059]

    55

    %n

    换行符

     

    %N

    十亿分之一秒,纳秒 [000000000,999999999]

    000000001

    %p

    AM/PM 

    PM

    %P

    am/pm

    pm

    %r

    本地时间:(12时制)

    11:01:23 AM

    %R

    与“%H:%M”相同

    11:01

    %s

    '00:00:00 1970-01-01 UTC' 的秒数

    1339819819

    %S

     [0060]

    02

    %t

    水平制表符

     

    %T

    与“%H:%M:%S”相同

    11:01:23

    %u

    ISO 8601的星期,星期一为1,[1,7]

    2

    %U

    周数 ,以周日为一周开始 [00,53]

    33

    %V

    ISO 8601周数 [01,53]

    07

    %w

    星期,星期天为0. [0,6]

    4

    %W

    周数,以星期一为一周开始 [00,53]

    34

    %x

    标准日期

    06/16/12

    %X

    标准时间

    14:55:02

    %y

    年份的后两位数字 [00,99]

    12

    %Y

    2012

    %z

    ISO 8601格式的UTC偏移量

    -0500

    %Z

    时区名

    EST

    %%

    百分号

    %

    若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数
     
    2、举例
    date                       # 以默认格式显示当前日期
    date -d "1 day"            # 以默认格式显示一天后的日期(还可以 second,minute,..直到year,可以加s表示复数)
    date -d "1970-01-01 UTC 1128621784 seconds"    # 以默认格式显示从1970-01-01 UTC起后1128621784秒的日期
    date -d "3 day ago" +%Y%m%d    # 以指定格式显示3天前的日期
    date -d "1 month" +%Y-%m-%d    # 以指定格式显示一个月后的日期
    date -d "1 month" +%s          # 以指定格式显示一个月后的日期(此格式为从1970年1月1日00:00:00到目前经历的秒数,%S为当前的秒数(0~59))
    date -d "1970-01-01 CST 1 second" +%s   # 显示从1970-01-01 CST起1秒后的秒数(-28799,注意时区"CST")
    date -d "2 hours"                # 2小时前
    date -d "1 minutes"             # 1分钟前
    date -d "2 seconds"             # 2秒钟前
    date -d "20120616" +%s          # 以指定格式显示日期

    将时间戳转换成date
    #date -d '1970-01-01 UTC 1199116800 seconds'
    2008年 01月 01日 星期二 00:00:00 CST

    #export LANG=en
    #date -d '19700101 UTC 1199116800 seconds'  
    Tue Jan  1 00:00:00 CST 2008mi 

    原文链接http://hi.baidu.com/toyou234/item/7d51a9db00b808e154347fbe

    date实用举例:

    #显示时区
    [cnscn@root /home/cnscn/backup]# date +%Z
    CST

    #显示世纪
    [cnscn@root /home/cnscn/backup]# date +%C
    20
    ====================设置===========================

    #设置时间为: 2005年02月22日09:10:46
    [cnscn@root /home/cnscn/backup]# date 022209102005.46           #月 日 时 分 年. 秒
    二  2月22 09:10:46 CST 2005


    #[cnscn@root /home/cnscn/backup]# date -s "+3 hours"                #将时间增加3小时
    二  2月22 09:46:14 CST 2005


    #[cnscn@root /home/cnscn/backup]# date -s "-40 minutes"            #将时间减少40分钟
    二  2月22 09:06:35 CST 2005


    #[cnscn@root /home/cnscn/backup]# date -s  "+1 year"                #时间增加1年
    三  2月22 09:14:55 CST 2006


    #[cnscn@root /home/cnscn/backup]# date -s  "-1 year"                 #时间减少一年
    二  2月22 09:15:02 CST 2005


    ======================按日期显示============================
    [cnscn@root /home/cnscn/backup]# date -d  "+1 year"
    三  2月22 09:57:46 CST 2006


    [cnscn@root /home/cnscn/backup]# date -d "-1 month"
    六  1月22 09:49:08 CST 2005

    [cnscn@root /home/cnscn/backup]# date -d "-1 month" +%s
    1106358557


    #[cnscn@root /home/cnscn/backup]# date -d "7 days ago"           #显示7天前的时间
    二  2月15 09:16:09 CST 2005


    #[cnscn@root /home/cnscn/backup]# date -d "7 days ago"  +%s   #显示7天前时间的秒值
    1108430178


    #[cnscn@root /home/cnscn/backup]# date -d "7 days"                #显示7天后时间的秒值
    二  3月  1 09:17:11 CST 2005


    #[cnscn@root /home/cnscn/backup]# date -d "7 days"  +%s        #显示7天后时间的秒值
    1109639824

    =======================================================


    #显示当前系统时间和日期
    $date


    #完整的日期时间显示
    [cnscn@root /home/cnscn/backup]# date +%c
    2005年02月22日  星期二  09时32分19秒


    #以格林威治标准时间显示目前时间和日期
    [cnscn@root /home/cnscn/backup]# date -u
    二  2月22 01:38:20 UTC 2005

    #以当地习惯显示日期
    [cnscn@root /home/cnscn/backup]# date +%x
    2005年02月22日


    #以mm/dd/yy格式显示系统日期
    [cnscn@root /home/cnscn/backup]# date +%D
    02/22/05


    =========================================================
    #英文全称月份
    [cnscn@root /home/cnscn/backup]# date +%B
    二月

    #英文缩写月份
    [cnscn@root /home/cnscn/backup]# date +%b
    2月
    ============================================================

    #今年第几天
    [cnscn@root /home/cnscn/backup]# date +%j
    053

    ============================================================

    #时:分:秒
    [cnscn@root /home/cnscn/backup]# date +%T09:24:07


    #加上AM与PM
    [cnscn@root /home/cnscn/backup]# date +%T%p
    09:24:07上午


    [cnscn@root /home/cnscn/backup]# date +%r
    09:34:44 上午

    =========================================================
    #周几
    [cnscn@root /home/cnscn/backup]# date +%w
    2

    #本地格式周几全称
    [cnscn@root /home/cnscn/backup]# date +%A
    星期二

    #本地格式周几缩写
    [cnscn@root /home/cnscn/backup]# date +%a


    #今年第几周
    [cnscn@root /home/cnscn/backup]# date +%U
    08

    1)把时间转成秒
      date -d  "20061206 07:08" +%s
        1165360080

    2)把秒转换成时间
       $ date
         2006年07月06日 星期四11:57:18 CST

       $ date -d "now" +%s
         1152158238
       $ date -d "19700101  1152158238 seconds UTC"
         2006年07月06日 星期四11:57:18 CST
       $ date -d "@1152158238"

  • 相关阅读:
    DLUTOJ 1209 字典序和r-子集
    C++ Standard-Library Random Numbers
    后缀数组模板
    UVA 1398 Meteor
    STL Iterators
    hihocoder1187 Divisors
    51nod 子序列的个数(动态规划)
    51nod 最长单增子序列(动态规划)
    51nod 更难的矩阵取数问题(动态规划)
    51nod 多重背包问题(动态规划)
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2778554.html
Copyright © 2011-2022 走看看