操做系統中時間管理是很重要的,也是很複雜的,首先要處理每一個月不一樣的天數,每4年有一閏年,每400年少一閏,這樣才能處理星期幾的問題。順便提一下,在1752年的9月還少了11天,在Linux系統中能夠用「cal」命令打印當年的年曆看看。
閒話少說,Linux中關於系統時間的管理離不開date命令,它除了顯示當前時間,還能夠獲取其它時間,設置時間等。
Linux系統的時間是以時間戳來記錄的,即從1970年1月1日(00:00:00 GMT)以來的秒數,首先date能夠實現字符串時間和時間戳的轉換:
date -d"2013-01-31 20:00:00" +%s shell
即爲顯示指定時間的時間戳,而
date -d @1359643046 +"%Y-%m-%d %H:%M:%S" spa
就能夠實現時間戳到字符串形式的轉換。命令中-d指定時間,+指定顯示時間的格式(還能夠顯示ns哦,用%N就能夠了)。
再來就是其它時間了,好比我想知道1999年3月4日是星期幾,這個問題也能夠用date來實現:
date -d "1999-3-4" +"%A" 操作系統
還能夠顯示500年以後的明天呢,是星期幾固然也知道了:
date -d"500years" 3d
500年前也同樣:
date -d"-500years" code
date -d"500years ago" 字符串
你能夠試試: it
date -d"-500years ago" class
2個月3天以後能夠這樣寫: date
date -d"+2month+3day" 時間戳
最後,設置時間只需一個參數-s就好了。
獲取10分鐘以前的時間: date --date=「10 munites ago」
獲取10天以前的時間: date --date=「10 days ago」
獲取10分鐘以後的時間: date --date=「-10 munites ago」
獲取10天以後的時間: date --date=「-10 days ago」
這樣就實現了使用shell命令作日期的計算了