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
: ロケールに従った午前・午後表記 (例:AM
orPM
)%P
:%p
と同様だが小文字表記 (例:am
orpm
)
- 時
%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
: 時間帯 (例:+09
or+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