Linux時鐘分爲系統時鐘(System Clock)和硬件(Real Time Clock,簡稱RTC)時鐘。系統時鐘是指當前Linux Kernel中的時鐘,而硬件時鐘則是主板上由電池供電的時鐘,這個硬件時鐘可以在BIOS中進行設置。當Linux啓動時,硬件時鐘會去讀取系統時鐘的設置,然後系統時鐘就會獨立於硬件運作。
Linux中的所有命令(包括函數)都是採用的系統時鐘設置。
一.date
格式:date [OPTION]... [+FORMAT]
OPTION
-d , --date 顯示所設定時間(非當前系統時間)
-s , --set 設置系統時間
-u , --utc 顯示目前的格林威治時間
例:date -d '+3 day' +%F 顯示三天後的日期以"%F"格式
date -d '+3 month' +%F 顯示三月後的日期以"%F"格式
date -d '-3 year' +%F 顯示三年前的日期以"%F"格式
date -d '3 months 1 day' +%F 顯示三個月加1天后的日期
date -d '100 day ago' +%F 顯示100天以前的日期
date -d '10 month ago' +%F 顯示10個月以前的日期
date -d '10 month' +%F 顯示10個月以後的日期
date -d '25 Dec' +%F 顯示指定時間的日期
date -d next-year 顯示明年今天的日期
date -d next-month 顯示下個月今天的日期
date -d last-month 顯示上個月今天的日期
#顯示昨天的日期#
date -d last-day +%F
date -d 'last-day' +%F
date -d yesterday +%F
date -d 'yesterday' +%F
date -d '-1 day' +%F
date -d '-1 days' +%F
#顯示明天的日期#
date -d next-day +%F
date -d 'next-day' +%F
date -d 'tomorrow' +%F
date -d '+1 day' +%F
date -d '+1 days' +%F
date -d '1 day' +%F
date -s 2010-01-01 設置日期
date -s 17:15 設置時間
date -s "2010-12-01 17:15:00" 同時設置時間和日期
FORMAT
格式設定爲一個加號(+)後接數個標記
時間:
%% : 字符%
%n 下一行
%t : 製表符
%X : 相當於 %H:%M:%S
%H : 小時(00-23)
%I : 小時(01-12)
%k : 小時(0-23)
%l : 小時(1-12)
%M : 分鐘(00-59)
%p : 顯示本地 AM 或 PM
%S : 秒(00-60)
%T : 直接顯示時間 (24 小時制)
%r : 直接顯示時間 (12 小時制,格式爲 hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前爲止的秒數
%Z : 顯示時區
日期:
%a : 星期 (Sun-Sat)
%A : 星期 (Sunday-Saturday)
%b : 月份 (Jan-Dec)
%B : 月份 (January-December)
%c : 直接顯示日期與時間
%d : 日 (01-31)
%D : 直接顯示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第幾天 (001-366)
%m : 月份 (01-12)
%U : 一年中的第幾周 (00-53) (以 Sunday 爲一週的第一天的情形)
%w : 一週中的第幾天 (0-6)
%W : 一年中的第幾周 (00-53) (以 Monday 爲一週的第一天的情形)
%x : 直接顯示日期 (mm/dd/yy)
%y : 年份的最後兩位數字 (00.99)
%Y : 完整年份 (0000-9999)
不以加號(+)作爲開頭,則表示要設定時間,
時間格式爲 MMDDhhmm[[CC]YY][.ss]
MM 爲月份
DD 爲日
hh 爲小時
mm 爲分鐘
CC 爲年份前兩位數字
YY 爲年份後兩位數字
ss 爲秒數
注1:在標記中插入 - 符號,比如說 date '+%-H:%-M:%-S' 會把時分秒中無意義的 0 給去除。
如:08:09:04 變爲 8:9:4。
date '+%Y-%m-%d %H:%M:%S' 修改時間顯示格式
二.hwclock或是clock 查看硬件時鐘
hwclock --hctosys 把硬件時間設置成系統時間
hwclock --systohc 把系統時間設置成硬件時間
三.tzselect或是tzset 修改時區信息
或
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
四.利用NTP協議在線更新系統時間
ntpdate 210.72.145.44 中國國家授時中心