date コマンド
目次
概要
date - 日時を表示・設定するコマンドライン
date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
対象バージョン
- RHEL 10 : GNU date 9.5
- Ubuntu 24.04 : GNU date 9.4
説明
引数無しで実行すると現在の時刻を表示します。
$ date Wed Aug 6 14:53:47 UTC 2025
環境変数 TZ で時間帯(タイムゾーン)を指定することができます。日本の場合は Asia/Tokyo となります。
$ export TZ=Asia/Tokyo $ date Wed Aug 6 23:54:26 JST 2025
+FORMAT でフォーマットを指定できます。詳細は フォーマット を参照してください。
$ date "+%Y-%m-%d %H:%M:%S" 2025-12-31 23:59:59
-s オプションで現在時刻を設定することができます。
# date -s "2025-12-31 23:59:59"
UNIX時間(1970年1月1日 00:00:00 からの秒数)を表示したり、日時に変換することもできます。
$ TZ= date "+%s" 1767225599 $ TZ= date -d "@1767225599" Wed Dec 31 23:59:59 UTC 2025
オプション
表示する日時指定
- -d, --date=STRING
STRINGで指定された日時を表示します。$ date -d "2025/12/31 12:59:59" # 2025/12/31 12:59:59 の日時を表示 $ date -d "yesterday" # 昨日 $ date -d "tomorrow" # 明日 $ date -d "2 days" # 2日後 $ date -d "2 days ago" # 2日前 $ date -d "next Monday" # 次の月曜日 $ date -d "last Monday" # 前の月曜日 $ date --date="@1767225599" # UNIX時間(1970/1/1 00:00:00からの秒数)を日時に変換
- -f, --file=DATEFILE
DATEFILEに記述された各行を--dateオプションのSTRINGと見なして実行します。$ cat example.txt yesterday 2 days $ date -f example.txt Tue Aug 5 14:52:58 UTC 2025 Fri Aug 8 14:52:58 UTC 2025
- -r, --reference=FILE
FILEで指定したファイルの最終更新時刻を表示します。$ date -r example.txt Wed Dec 31 23:59:59 JST 2025
出力フォーマット
- -u, --utc, --universal
- 時間帯を UTC(Coordinated Universal Time) で表示します。未指定時は環境変数
TZで指定した時間帯に従います。$ date -u Wed Dec 31 23:59:59 PM UTC 2025
- -I[FMT], --iso-8601[=FMT]
- 日時を
FMTに従って ISO-8601 フォーマット(2025-12-31T23:59:59,999999999+00:00)で出力します。$ date -I # 例: 2025-12-31 $ date -Idate # 例: 2025-12-31 $ date -Ihours # 例: 2025-12-31T23+09:00 $ date -Iminutes # 例: 2025-12-31T23:59+09:00 $ date -Iseconds # 例: 2025-12-31T23:59:59+09:00 $ date -Ins # 例: 2025-12-31T23:59:59,999999999+09:00
- --rfc-3339=FMT
- RFC 3339 フォーマットで出力します。
$ date --rfc-3339=date # 例: 2025-12-31 $ date --rfc-3339=seconds # 例: 2025-12-31 23:59:59+09:00 $ date --rfc-3339=ns # 例: 2025-12-31 23:59:59.999999999+09:00
- -R, --rfc-email
- E-Mail で使用される RFC 5322 フォーマットで表示します。
$ date -R Wed, 31 Dec 2025 23:59:59 +0900
日時設定
- -s, --set=STRING
- 日時を設定します。
# date -s "2025-12-31 23:59:59"
メッセージ
- --help
- ヘルプを表示して終了します。
- --version
- バージョン情報を表示して終了します。
- --debug
- 標準エラー出力にデバッグメッセージを出力します。
その他
- --resolution
- 時刻の精度を表示します。
$ date --resolution 0.000000001
フォーマット
- 年月日時分秒
%c: ローカル日時 (例:Thu Mar 3 23:05:25 2005)
- 年月日
%D: 年月日(%m/%d/%y) と同等 (例:2025/12/31)%F: 年月日(%+4Y-%m-%d) と同等 (例:2025-12-31)%x: 年月日(%m/%d/%y) と同等 (例:12/31/25)
- 時分秒
%T: 時分秒(%H:%M:%S)と同等%X: ロケールに従った時刻表示(24時間表記) (例:23:59:59)%r: ロケールに従った時刻表示(12時間表記) (例:11:59:59 PM)
- 時分
%R: 時分(24時間表記) (例:23:59)
- 年
%Y: 年(4桁)(例:2025)%C: 年の上位2桁(例:20)%y: 年の下位2桁(例:25)
- 月
%m: 月 (01..12)%b: ロケールに従った月名 (例:Jan)%B: ロケールに従った月名 (例:January)%h:%bと同等
- 日
%d: 日(0埋め) (01..31)%e: 日(空白埋め) (1..31)
- 曜日
%a: ロケールに従った曜日名(例:Sun)%A: ロケールに従った曜日名(例:Sunday)%u: 曜日 (1..7); 1 が月曜日%w: 曜日 (0..6); 0 が日曜日
- 午前・午後
%p: ロケールに従った午前・午後表記 (例:AMorPM)%P:%pと同様だが小文字表記 (例:amorpm)
- 時
%H: 時刻(0埋め24時間表記) (00..23)%I: 時刻(0埋め12時間表記) (01..12)%k: 時刻(空白埋め24時間表記) (0..23)%l: 時刻(空白埋め12時間表記) (0..12)
- 分
%M: 分 (00..59)
- 秒
%S: 秒 (00..60)
- ナノ秒
%N: ナノ秒 (000000000..999999999)
- 時間帯
%z: 時間帯 (例:+0900)%:z: 時間帯 (例:+09:00)%::z: 時間帯 (例:+09:00:00)%:::z: 時間帯 (例:+09or+09:30)%Z: 時間帯 (例:JST,UTC, ...)
- 文字
%%: パーセント(%)%n: 改行文字%t: タブ文字
- UNIX時間
%s: UNIX時間(エポックタイム)(1970/1/1 00:00:00からの秒数)
- その他
%q: 四半期 (1..4)%j: 年の中の日数 (001..366)%U: 年の中の週数(日曜日始まり) (00..53)%W: 年の中の週数(月曜日始まり) (00..53)%V: 年の中の週数(ISO週番号/木曜を含む週が第1週/月曜始まり)(01..53)%G: ISO週番号ベースの年(4桁)%g: ISO週番号ベースの年(下2桁)※ ISO週番号の場合、年末年始は木曜日が前年か翌年かによって、
%Yと%Gが1年ずれることがあります。$ date -d "2022-01-01" "+%V %Y %G" 52 2022 2021 $ date -d "2024-12-31" "+%V %Y %G" 01 2024 2025
Copyright (C) 2025 杜甫々
初版:2025年8月10日 最終更新:2025年8月10日
https://www.tohoho-web.com/linux/cmd/date.html