歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 每天一個Linux命令(32)date命令

每天一個Linux命令(32)date命令

日期:2017/3/3 12:18:22   编辑:Linux技術

[b] date命令是顯示或設置系統時間與日期。 [/b][b] (1)用法:[/b]

[b] 用法: date [選項] [參數][/b][b] (2)功能:[/b]

[b] 功能: 根據指定格式顯示當前時間或設置系統時間[/b]很多shell腳本裡面需要打印不同格式的時間或日期,以及要根據時間和日期執行操作。延時通常用於腳本執行過程中提供一段等待的時間。日期可以以多種格式去打印,也可以使用命令設置固定的格式。在類UNIX系統中,日期被存儲為一個整數,其大小為自世界標准時間(UTC)1970年1月1日0時0分0秒起流逝的秒數。

[b] (3)選項參數:[/b] 1) <+時間日期格式>:        指定顯示時使用的日期時間格式;

2) -d<字符串>:           顯示字符串所指的日期與時間,字符串前後必須加上雙引號;3) -s<字符串>:           根據字符串來設置日期與時間;(不用加引號)

[b] (4)實例:[/b] 1)[root@localhost Document]# date -s 20160530           設置日期和時間(只有root權限才能設置,其他只能查看)

[root@localhost Document]# date -s 20160530
2016年 05月 30日 星期一 00:00:00 PDT
[root@localhost Document]# date -s 09:00:00
2016年 05月 30日 星期一 09:00:00 PDT
2)[root@localhost Document]# date                  查看當前時間

[root@localhost Document]# date
2016年 05月 30日 星期一 09:01:05 PDT
3)[root@localhost Document]# date 0819150511            第二種設置日期和時間的方式

[root@localhost Document]# date 0819150511
2011年 08月 19日 星期五 15:05:00 PDT
[root@localhost Document]# date 0530080016
2016年 05月 30日 星期一 08:00:00 PDT
4)[root@localhost Document]# date +%m%d%H%M%S        第二種顯示日期的方式

[root@localhost Document]# date +%m%d%H%M%S
0530080137
[root@localhost Document]# date +%y%m%d%H%M%S
160530080158
5)[root@localhost Document]# date -d "+1 day" +"%y/%m/%d"        顯示經過加減法過後的日期

[root@localhost Document]# date -d "1 day ago" +"%Y-%m-%d"                  //等價於date -d "-1 day ago" +"%Y-%m-%d"
2016-05-29
[root@localhost Document]# date -d "1 day ago" +"%y-%m-%d"
16-05-29
[root@localhost Document]# date -d "1 month ago" +"%y/%m/%d"
16/04/30
[root@localhost Document]# date -d "+1 day" +"%y/%m/%d"
16/05/31
[root@localhost Document]# date -d "+1 month" +"%y-%m-%d"
16-06-30
6)[root@localhost Document]# date -s "2016-05-30 09:10:10"         同時設置日期和時間

[root@localhost Document]# date -s "2016-05-30 09:10:10"
2016年 05月 30日 星期一 09:10:10 PDT
[root@localhost Document]# date -s "20160530 09:10:10"
2016年 05月 30日 星期一 09:10:10 PDT
[root@localhost Document]# date -s "09:00:00 20160530"
2016年 05月 30日 星期一 09:00:00 PDT
[root@localhost Document]# date -s "09:00:00 2016/05/30"
2016年 05月 30日 星期一 09:00:00 PDT
[root@localhost Document]# date -s "09:00:00 2016-05-30"
2016年 05月 30日 星期一 09:00:00 PDT
7)格式轉換後時間游走:

[root@localhost Document]# date -d "Nov 5, 2018 09:00:00 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
2016-11-05 09:00.00
[root@localhost Document]# date -d "Oct 30, 2018 09:10:00 AM 2 month ago" +"5Y-%m-%d %H:%M"
5Y-08-30 09:10
[root@localhost Document]# date -d "Oct 30, 2018 09:10:00 AM 2 month ago" +"%Y-%m-%d %H:%M"
2018-08-30 09:10
8)[root@localhost Document]# echo $diff seconds        記錄命令花費的時間

[root@localhost Document]# start=$(date +%s)
[root@localhost Document]# ls /home |more -10
sunjimeng
[root@localhost Document]# end=$(date +%s)
[root@localhost Document]# diff=$((end-start))
[root@localhost Document]# echo $diff seconds
40 seconds
[b] (5)日期格式字符串列表[/b]

%H 小時,24小時制(00~23)   %I 小時,12小時制(01~12)

  %k 小時,24小時制(0~23)   %l 小時,12小時制(1~12)

  %M 分鐘(00~59)   %p 顯示出AM或PM

  %r 顯示時間,12小時制(hh:mm:ss %p)   %s 從1970年1月1日00:00:00到目前經歷的秒數

  %S 顯示秒(00~59)   %T 顯示時間,24小時制(hh:mm:ss)

  %X 顯示時間的格式(%H:%M:%S)   %Z 顯示時區,日期域(CST)

  %a 星期的簡稱(Sun~Sat)   %A 星期的全稱(Sunday~Saturday)

  %h,%b 月的簡稱(Jan~Dec)   %B 月的全稱(January~December)

  %c 日期和時間(Tue Nov 20 14:12:58 2012)   %d 一個月的第幾天(01~31)

  %x,%D 日期(mm/dd/yy)   %j 一年的第幾天(001~366)

  %m 月份(01~12)   %w 一個星期的第幾天(0代表星期天)

  %W 一年的第幾個星期(00~53,星期一為第一天)   %y 年的最後兩個數字(1999則是99)

月份的英文表示: 【January】  【February】 【March】 【April】 【May】 【June】 【July】 【August】 【September】 【October】 【November】 【December 】

Copyright © Linux教程網 All Rights Reserved