0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解date命令的基礎(chǔ)知識(shí)

CHANBAEK ? 來(lái)源: myfreax ? 作者: myfreax ? 2023-01-04 17:07 ? 次閱讀

date命令用于顯示或設(shè)置系統(tǒng)日期。它最常用于以不同格式打印日期和時(shí)間,并計(jì)算將來(lái)和過(guò)去的日期。

在本教程中,我們將詳解date命令的基礎(chǔ)知識(shí)。date命令的語(yǔ)法形式是date [OPTION]... [+FORMAT]。

date命令默認(rèn)使用系統(tǒng)時(shí)區(qū)。要使用其他時(shí)區(qū),請(qǐng)將環(huán)境變量TZ設(shè)置為所需時(shí)區(qū)。

要使用默認(rèn)格式顯示當(dāng)前系統(tǒng)時(shí)間和日期,請(qǐng)?jiān)诓恢付ㄈ魏芜x項(xiàng)參數(shù)運(yùn)行date命令。

輸出將包括星期幾,月份,月份,時(shí)間,時(shí)區(qū)和年份Sat Jun 1 14:31:01 CEST 2019

date

date 命令時(shí)間日期格式化

date命令的輸出,可以使用一系列格式控制字符,+符號(hào)進(jìn)行格式化。格式控件以%符號(hào)開(kāi)頭,并由其值代替。

%Y字符將會(huì)被年份替換,%m將會(huì)被月份替換,%d與將會(huì)被天替換,命令輸出將會(huì)是這樣Year: 2019, Month: 06, Day: 02。

date +"Year: %Y, Month: %m, Day: %d"
Year: 2019, Month: 06, Day: 02
date "+DATE: %D%nTIME: %T"
DATE: 12/26/22
TIME: 11:30:05

這是一些最常見(jiàn)的格式字符。

%a是星期幾的簡(jiǎn)稱,例如命令date "+%a",見(jiàn)會(huì)打印的是Mon。

%A是星期幾的全稱,例如命令date "+%A"將會(huì)打印Monday。

%b是月份的簡(jiǎn)寫,例如命令date "+%b"將會(huì)打印Jan。

%B月份的全稱,例如命令date "+%B"將會(huì)打印December。

%d當(dāng)前日期的天數(shù),例如命令date "+%d"將會(huì)打印26。

%D是完整的月/日/年的簡(jiǎn)寫,例如命令date "+%D"將會(huì)打印12/26/22。

%H是24小時(shí)制00..23,例如命令date "+%H"將會(huì)打印12。

%I是12小時(shí)制01..12,例如命令date "+%I"將會(huì)打印12。

%j一年中的某天001..366,例如命令date "+%j"將會(huì)打印360。

%m是月份01..12,例如命令date "+%m"將會(huì)打印12。

%M是分鐘00..59,例如命令date "+%M"將會(huì)打印45。

%S00..60秒,例如命令date "+%S"將會(huì)打印21。

%u1..7的星期幾。例如命令date "+%u"將會(huì)打印1。

%Y是當(dāng)前數(shù)字年份,例如命令date "+%Y"將會(huì)打印2022。

要獲取所有格式選項(xiàng)的完整列表,請(qǐng)?jiān)谀慕K端上運(yùn)行date --help或運(yùn)行man date。

格式化日期時(shí)間

-d選項(xiàng)允許您使用指定日期進(jìn)行操作。可以將日期解釋為易于理解的日期字符串,也可以指定自定義的格式。

日期字符串還可以接受諸如“tomorrow”, “friday”, “l(fā)ast friday” “next friday”, “next month”, “next week”等值。

由于date命令默認(rèn)使用系統(tǒng)時(shí)區(qū)。要使用其他時(shí)區(qū),請(qǐng)將環(huán)境變量 TZ設(shè)置為所需時(shí)區(qū)。

要列出所有可用時(shí)區(qū),可以列出/usr/share/zoneinfo目錄文件或運(yùn)行命令timedatectl list-timezones。

date -d '16 Dec 1974' +'%A, %d %B %Y'
date -d "last week"
date -d 'TZ="Australia/Sydney" 06:30 next Monday'

Unix 時(shí)間戳轉(zhuǎn)換器

date命令可用作紀(jì)元轉(zhuǎn)換器,也就是Unix時(shí)間戳。Unix時(shí)間戳是自1970年1月1日UTC時(shí)間00:00:00起經(jīng)過(guò)的秒數(shù)。

要打印從紀(jì)元到當(dāng)前日期的秒數(shù),請(qǐng)使用date命令%s格式控件,也就是命令date +%s。

要將紀(jì)元以來(lái)的秒轉(zhuǎn)換為日期,請(qǐng)使用date命令的-d選項(xiàng),并在Unix時(shí)間戳添加前綴@。

date +%s
date -d @1234567890
Sat Feb 14 00:31:30 CET 2009

日期與文件名

date命令最常用于創(chuàng)建包含當(dāng)前時(shí)間和日期的文件名。例如使用日期作為文件名創(chuàng)建Mysql備份文件。

要在Shell腳本中使用date命令的時(shí)間作為文件名,一種方式創(chuàng)建日期時(shí)間的變量然后作為文件名稱。

例如命令date_now=$(date "+%F-%H-%M-%S")格式化日期并分別給date_now變量。

當(dāng)然也可以直接在文件名中使用date命令的格式化日期作為文件名稱,例如命令mysqldump database_name > database_name-$(date +%Y%m%d).sql。

date_now=$(date "+%F-%H-%M-%S")
mysqldump  database_name > database_name-$(date +%Y%m%d).sql

文件最后修改時(shí)間

date命令的-r選項(xiàng)也可以用于打印文件的最后修改時(shí)間。例如命令date -r etc/hosts打印etc/hosts文件最后修改時(shí)間。

如果要修改文件時(shí)間戳,請(qǐng)使用touch命令。

date -r etc/hosts

設(shè)置系統(tǒng)時(shí)間和日期

通常不建議使用date命令手動(dòng)設(shè)置系統(tǒng)時(shí)間和日期,因?yàn)樵诖蠖鄶?shù)Linux發(fā)行版中,系統(tǒng)時(shí)鐘使用ntpsystemd-timesyncd服務(wù)進(jìn)行同步。

但是,如果要手動(dòng)設(shè)置系統(tǒng)時(shí)鐘,可以使用date命令的--set選項(xiàng)。

例如命令date --set="20190601 17:30"將日期和時(shí)間設(shè)置為2019年6月1日下午5:30。

結(jié)論

至此,您應(yīng)該對(duì)如何在Linux使用date命令有一個(gè)很好的了解。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11336

    瀏覽量

    210099
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    694

    瀏覽量

    22071
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    射極耦合邏輯(ECL)基礎(chǔ)知識(shí)詳解

    本帖最后由 gk320830 于 2015-3-9 21:49 編輯 射極耦合邏輯(ECL)基礎(chǔ)知識(shí)詳解ECL(Emitter Coupled Logic),中文譯名“射極耦合邏輯”,是一種
    發(fā)表于 08-07 11:48

    阻抗匹配基礎(chǔ)知識(shí)詳解 簡(jiǎn)直新手的好老師超級(jí)詳細(xì)

    阻抗匹配基礎(chǔ)知識(shí)詳解簡(jiǎn)直新手的好老師超級(jí)詳細(xì)
    發(fā)表于 04-08 13:48

    【轉(zhuǎn)】變壓器基礎(chǔ)知識(shí)_制作流程_詳解

    變壓器基礎(chǔ)知識(shí)_制作流程_詳解
    發(fā)表于 08-05 21:35

    Linux的基礎(chǔ)知識(shí)命令

    Linux基礎(chǔ)知識(shí)命令
    發(fā)表于 06-14 06:39

    PLC入門必看基礎(chǔ)知識(shí)

    PLC基礎(chǔ)知識(shí)(PLC入門必看)與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解
    發(fā)表于 09-09 08:39

    電子元器件基礎(chǔ)知識(shí)詳解

    電子元器件基礎(chǔ)知識(shí)詳解
    發(fā)表于 10-08 20:13 ?371次下載

    安防技術(shù)基礎(chǔ)知識(shí)名詞詳解大全

    安防技術(shù)基礎(chǔ)知識(shí)名詞詳解大全 垂直同步、彩色視頻復(fù)合信號(hào)同步、外同步、直流線鎖定和完
    發(fā)表于 12-29 12:19 ?829次閱讀

    linux /Android 基礎(chǔ)知識(shí)總結(jié)大全

    本文檔介紹了linux /Android 基礎(chǔ)知識(shí)總結(jié)大全,包含了源代碼以及詳解,供網(wǎng)友參考。
    發(fā)表于 09-11 17:46 ?7次下載

    電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)

    電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)
    發(fā)表于 09-15 14:36 ?76次下載
    電源管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>電源管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>電源管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    FreeRTOS基礎(chǔ)知識(shí)詳解pdf下載

    FreeRTOS基礎(chǔ)知識(shí)詳解
    發(fā)表于 03-29 14:36 ?45次下載

    機(jī)器視覺(jué)基礎(chǔ)知識(shí)詳解模板

    機(jī)器視覺(jué)基礎(chǔ)知識(shí)詳解模板下載。
    發(fā)表于 05-28 14:48 ?13次下載

    變壓器(Transformer)基礎(chǔ)知識(shí)詳解

    變壓器(Transformer)基礎(chǔ)知識(shí)點(diǎn)免費(fèi)下載。
    發(fā)表于 06-23 11:47 ?54次下載

    詳解射頻微波基礎(chǔ)知識(shí)點(diǎn)

    詳解射頻微波基礎(chǔ)知識(shí)點(diǎn)
    的頭像 發(fā)表于 01-29 10:28 ?2427次閱讀

    多倍頻程放大器的基礎(chǔ)知識(shí)

    當(dāng)涉及多倍頻程放大器時(shí),以下是一些基礎(chǔ)知識(shí)詳解。
    的頭像 發(fā)表于 06-15 09:58 ?813次閱讀

    無(wú)功補(bǔ)償原理基礎(chǔ)知識(shí)詳解

    無(wú)功補(bǔ)償原理基礎(chǔ)知識(shí)詳解
    的頭像 發(fā)表于 08-11 09:48 ?877次閱讀
    無(wú)功補(bǔ)償原理<b class='flag-5'>基礎(chǔ)知識(shí)</b><b class='flag-5'>詳解</b>