Linuxコマンド辞典 dateコマンド(プロセス管理)

日付の表示や設定を行う「date」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

日付の表示や設定を行います。表示形式を指定すればそれに合わせて表示します。オプションを何も指定せずに実行した場合は、現在の時刻と日付を表示します。

書式

$ date [オプション] コマンド

オプション

-d 時間
–date 時間
指定した時間を表示する。「時間」には「yesterday」や「2 week ago」など認識しやすい文字列を利用できる
-r ファイル名
–reference=ファイル名
指定したファイルの最終修正時刻を利用する
-s 形式
–set形式
指定した形式で時刻と日付を設定する
-u
–universal、–utc
表示や設定にグリニッジ時刻を利用する

形式に利用できる文字列

文字列説明
%H00~23(時、2けた24時間形式)
%I(大文字)01~12(時、2けた12時間形式)
%k0~23(時、24時間形式)
%l(小文字)0~12(時、12時間形式)
%M00~59(分)
%pAMもしくはPM(日本語では午前、午後となる)
%rhh:mm:ss[AP]M(12時間形式の時刻)
%s1970-01-010100:00:00UTCからの秒数
%S00~61(秒)
%Thh:mm:ss(24時間形式の時刻)
%a曜日の名前(省略形式…Sunなど)
%A曜日の名前
%b月の名前(省略形式…Janなど)
%B月の名前
%c時刻と日付を表示する
%d01~31(日)
%D日付(mm/dd/yy形式)
%j年内通算日数(3けた)
%m01~12(月)
%w曜日(数字が日曜日、4が木曜日)
%x日付を表示する(ロケールを考慮したmm/dd/yy)
%y西暦の下2けた
%Y西暦

日付の表示や設定を行う(日本語)

実行結果

[sunarin@localhost sunarin]$ date
2022年  8月  5日 金曜日 15:31:40 JST
[sunarin@localhost sunarin]$ date --date '10 days ago'
2022年  7月 26日 火曜日 15:32:01 JST
[sunarin@localhost sunarin]$ 

「+出力形式」で表示形式を変更する

実行結果

[sunarin@localhost sunarin]$ date +%F
2022-08-05
[sunarin@localhost sunarin]$ date +"%Y/%m/%d"
2022/08/05

「認識しやすい文字列」を使って日時を表示してみる

実行結果

[sunarin@localhost sunarin]$ date -d "TZ=\"Asia/Tokyo\" next friday"
2022年  8月 12日 金曜日 00:00:00 JST
[sunarin@localhost sunarin]$ 

バックアップアーカイブファイル名に日時を付与する

実行結果

[sunarin@localhost sunarin]$ tar cfz /tmp/backup-$(date +%Y-%m-%d).tgz ./
[sunarin@localhost sunarin]$ ls /tmp
backup-2022-08-05.tgz  systemd-private-27afedea187540efbea534f3e5458312-ModemManager.service-PoD4ZJ
hsperfdata_root        systemd-private-27afedea187540efbea534f3e5458312-colord.service-ZfZNif
lua_R4YkDS             systemd-private-27afedea187540efbea534f3e5458312-rtkit-daemon.service-FVLNO3
script.log             tracker-extract-files.1000
sunarin
[sunarin@localhost sunarin]$ 

バックアップファイルの指定に過去の日をつけるなどのひと手間をかける

実行結果

[sunarin@localhost sunarin]$ tar cfz /tmp/backup-$(date -d "yesterday" +%Y-%m-%d).tgz ./
[sunarin@localhost sunarin]$ ls /tmp
backup-2022-08-04.tgz  sunarin
backup-2022-08-05.tgz  systemd-private-27afedea187540efbea534f3e5458312-ModemManager.service-PoD4ZJ
hsperfdata_root        systemd-private-27afedea187540efbea534f3e5458312-colord.service-ZfZNif
lua_R4YkDS             systemd-private-27afedea187540efbea534f3e5458312-rtkit-daemon.service-FVLNO3
script.log             tracker-extract-files.1000
[sunarin@localhost sunarin]$