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"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM