DATE(1)

名前
date - システムの日付や時刻の表示、設定を行う

書式
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

説明

指定された FORMAT で現在時刻を表示します。またはシステム時刻を設定します。

長いオプションで必須となっている引数は短いオプションでも必須です。

-d, --date=STRING
    現在時刻ではなく STRING で指定された時刻を表示する

--debug
    日付の解釈についての注釈と疑わしい用法に 関する警告を標準エラーに出力する。

-f, --file=DATEFILE
    DATEFILE の各行に対して --date と同様に動作する

-I[FMT], --iso-8601[=FMT]
    日付/時刻を ISO 8601 形式で出力する。 FMT は日付と時刻の表示精度で、 'date', 'hours', 'minutes', 'seconds', 'ns' が指定できる。 'date' がデフォルトで、日付のみを出力する。 例: 2006-08-14T02:34:56-06:00

-R, --rfc-email
    RFC 5322 形式で日付と時刻を出力する 例: Mon, 14 Aug 2006 02:34:56 -0600

--rfc-3339=FMT
    RFC 3339 形式で日付と時刻を出力する FMT は日付と時刻の表示精度で、 'date', 'seconds', 'ns' が使用できる。 例: 2006-08-14 02:34:56-06:00

-r, --reference=FILE
    FILE の最終更新時刻を表示する

-s, --set=STRING
    STRING で指定される時間に設定する

-u, --utc, --universal
    協定標準時 (Coordinated Universal Time) を表示、設定する

--help
    使い方を表示して終了する

--version
    バージョン情報を表示して終了する

FORMAT で出力を制御します。解釈される文字列は次の通りです。

%%  文字 %

%a  ロケール表示による曜日の省略名 (例: Sun、日)

%A  ロケール表示での曜日の完全名 (例: Sunday、日曜日)

%b  ロケール表示での月の省略名 (例: Jan)

%B  ロケール表示での月の完全名 (例: January)

%c  ロケール表示での日付と時刻 (例: Thu Mar 3 23:05:25 2005)

%C  世紀。%Y と同様だが下2桁が省略される (例: 20)

%d  月の中の何日目かを表す値 (例: 01)

%D  日付。 %m/%d/%y と同様

%e  スペースで字幅調整された月の中の何日目かを表す値。%_d と同様

%F  完全形式の日付。 %+4Y-%m-%d と同様

%g  ISO 週番号の最後の2桁 (%G 参照)

%G  ISO 週番号の年部分 (%V 参照)。通常は %V と同時に使用される

%h  %b と同様

%H  時 (00..23)

%I  時 (01..12)

%j  年の開始日からの日数 (001..366)

%k  スペース詰めの時 ( 0..23)。 %_H と同様

%l  スペース詰めの時 ( 1..12)。 %_I と同様

%m  月 (01..12)

%M  分 (00..59)

%n  改行

%N  ナノ秒 (000000000..999999999)

%p  AM または PM のロケールでの表示。不明な場合は空白

%P  %p と同様だが、小文字で表示する

%q  年の四半期 (1..4)

%r  ロケール12時間表示での時刻 (例 11:11:04 PM)

%R  24時間表示での時および分。%H:%M と同様

%s  1970-01-01 00:00:00 UTC からの秒数

%S  秒 (00..60)

%t  水平タブ

%T  時刻。%H:%M:%S と同様

%u  週の何日目かを表す値 (1..7); 1 が月曜日

%U  日曜日を週初めとした週番号 (00..53)

%V  ISO 週番号。月曜日を週初めとする (01..53)

%w  週の何日目かを表す値 (0..6); 0 を日曜日とする

%W  月曜日を週初めとした週番号 (00..53)

%x  ロケール表示での日付 (例: 12/31/99)

%X  ロケール表示での時刻 (例: 23:13:48)

%y  西暦での年の下2桁 (00..99)

%Y  年

%z  +hhmm 形式でのタイムゾーン (例: -0400)

%:z +hh:mm 形式でのタイムゾーン (例: -04:00)

%::z
    +hh:mm:ss 形式でのタイムゾーン (例: -04:00:00)

%:::z
    必要な精度に応じて : が使用されるタイムゾーン表示 (例: -04, +05:30)

%Z  英字でのタイムゾーン省略形 (例: EDT)

デフォルトでは0で日付の空白部分が埋められます。 次のオプションフラグを '%' の後に続けることができます:

-   (ハイフン) フィールドの空白を埋めない

_   (アンダースコア) フィールドの空白をスペースで埋める

0   (ゼロ) フィールドの空白を 0 で埋める

+   空白を 0 で埋め、4 桁を超える年の場合は '+" を前に付ける

^   可能な場合は大文字を使用する

#   可能な場合は小文字を使用する

フラグの後にオプションでフィールド幅を 10 進数で指定できます。 その後にオプションで以下のいずれかの修飾辞を指定できます。 E はロケールで代替の表記が利用可能な時には代替表記を利用します。 O はロケールで代替の数字が利用可能なときには代替数字を利用します。

日付文字列
--date=STRING は、ほぼフリーフォーマットで人間が読みやすい日付文字列です。 "Sun, 29 Feb 2004 16:21:42 -0800" や "2004-02-29 16:21:42" などが使用でき、 "next Thursday" といった指定もできます。 日付文字列には、カレンダーの日付、1 日の時刻、タイムゾーン、 週の曜日、相対的な時刻、相対的な日付、数字を表す要素を含めることができます。 空の文字列は、その日の最初を示します。 日付文字列の書式は、ここで説明できるほど簡単ではないが、 info 文書には完全な説明が載っています。

例
紀元 (Epoch; 1970-01-01 UTC) からの秒数を日時に変換する場合

    $ date --date='@2147483647'

米国西海岸のタイムゾーンで日時を表示する場合 (TZ は tzselect(1) を使って探せます)

    $ TZ='America/Los_Angeles' date

ローカル時間の次の金曜日午前9時を米国西海岸のタイムゾーンで表示する場合

    $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'

GNU coreutils のオンラインヘルプ: <https://www.gnu.org/software/coreutils/> 翻訳に関するバグは <https://translationproject.org/team/ja.html> に連絡してください。 詳細な文書 <https://www.gnu.org/software/coreutils/date> (ローカルでは info '(coreutils) date invocation' で参照可能)。

作者
作者 David MacKenzie。

著作権
Copyright © 2020 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

関連項目
date の完全なマニュアルは Texinfo マニュアルとして整備されている。もし、 info および date のプログラムが正しくインストールされているならば、コマンド

    info date

を使用すると完全なマニュアルを読むことができるはずだ。