Shell實(shí)現(xiàn)日期的獲取、設(shè)置和延時(shí)操作
基礎(chǔ)概念
Bash可以幫助我們以不同的格式打印日期、設(shè)置日期,又或根據(jù)日期或時(shí)間進(jìn)行操作等。
在類Unix系統(tǒng)中,日期被存儲(chǔ)為一個(gè)整數(shù),其大小依照世界標(biāo)準(zhǔn)時(shí)間(UTC)1970年1月1日0時(shí)0分0秒起所耗費(fèi)的秒數(shù)。這種計(jì)時(shí)方式稱為紀(jì)元時(shí)或Unix時(shí)間。
基礎(chǔ)語(yǔ)法
可以用不同的格式來(lái)輸出、設(shè)置日期。
1) 打印當(dāng)前日期
date
輸出樣例

2) 打印紀(jì)元時(shí)
date +%s
輸出樣例

3) 將日期轉(zhuǎn)換為紀(jì)元時(shí)
date --date "Jul 09 2023" +%s
輸出樣例

若想從日期中知道是星期幾,可以將后面的%s替換為%A,例如
date --date "Jul 09 2023" +%A
輸出樣例

轉(zhuǎn)換內(nèi)容可以參考下表,根據(jù)需要將日期進(jìn)行轉(zhuǎn)換
| 格式 | 轉(zhuǎn)換內(nèi)容 |
| %A / %a | 星期 |
| %I / %H | 小時(shí) |
| %M | 分鐘 |
| %S | 秒 |
| %N | 納秒 |
| %y / %Y | 年 |
| %b / %B | 月 |
| %d | 日 |
| %D | 固定格式日期(mm/dd/yy) |
| 紀(jì)元時(shí) | %s |
4) 打印要求格式的日期
date "+%Y %B %d"
輸出樣例

5) 設(shè)置日期和時(shí)間
date -s "09 July 2023 11:11:11"
輸出樣例

拓展:
有時(shí)程序上需要計(jì)算代碼執(zhí)行耗時(shí),這個(gè)是可以通過(guò)date指令來(lái)完成的。例如想計(jì)算一段程序片段的執(zhí)行耗時(shí),我們可以編寫(xiě)以下代碼:
start=$(date +%s) #start和end中間這一段填寫(xiě)代碼指令 sleep 5 # 延遲5s end=$(date +%s) delta=$(( end - start)) echo -e "\nTime consumption is $delta seconds."
執(zhí)行效果:

到此這篇關(guān)于Shell實(shí)現(xiàn)日期的獲取、設(shè)置和延時(shí)操作的文章就介紹到這了,更多相關(guān)Shell 日期獲取、設(shè)置和延時(shí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell腳本對(duì)比兩個(gè)文本文件找出不同行的2個(gè)方法分享
這篇文章主要介紹了Shell腳本對(duì)比兩個(gè)文本文件找出不同行的2個(gè)方法分享,本文分別使用comm命令法、grep命令法實(shí)現(xiàn),需要的朋友可以參考下2014-12-12
Linux shell數(shù)組與關(guān)聯(lián)數(shù)組的用法實(shí)例
今天小編就為大家分享一篇關(guān)于Linux shell數(shù)組與關(guān)聯(lián)數(shù)組的用法實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
3000字掃盲shell基礎(chǔ)知識(shí)(新手必備)
這篇文章主要介紹了3000字掃盲shell基礎(chǔ)知識(shí),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
shell中使用expect命令進(jìn)行遠(yuǎn)程執(zhí)行命令腳本
今天小編就為大家分享一篇關(guān)于shell中使用expect命令進(jìn)行遠(yuǎn)程執(zhí)行命令腳本,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
Linux使用date命令查看與設(shè)置系統(tǒng)時(shí)間
在?Linux?系統(tǒng)中,時(shí)間管理是保證系統(tǒng)正常運(yùn)行和數(shù)據(jù)準(zhǔn)確性的基石,date?命令作為?Linux?系統(tǒng)中一個(gè)核心且功能強(qiáng)大的工具,為我們提供了查看和設(shè)置系統(tǒng)時(shí)間的便捷途徑,本文將深入剖析?date?命令的方方面面,讓你全面掌握這個(gè)系統(tǒng)時(shí)間管理的利器,需要的朋友可以參考下2026-02-02
Linux Shell腳本系列教程(六):數(shù)組和關(guān)聯(lián)數(shù)組
這篇文章主要介紹了Linux Shell腳本系列教程(六):數(shù)組和關(guān)聯(lián)數(shù)組,本文講解了什么是數(shù)組和關(guān)聯(lián)數(shù)組、定義打印普通數(shù)組、定義打印關(guān)聯(lián)數(shù)組等內(nèi)容,需要的朋友可以參考下2015-06-06

