date コマンド

目的

日付または時刻を表示または設定します。

構文

日付と時刻の表示

date [ -u ] [ +FieldDescriptor ... ]

説明

重要: マルチユーザー・モードでシステムが稼働している場合は、日付の変更は行わないでください。

date コマンドは、フラグを付けずに呼び出されるか、+ (正符号) で始まるフラグ・リストを付けて呼び出されると、現在の日時と時刻を標準出力に書き出します。それ以外の場合は、現在の日付を設定します。 date コマンドは、認識されないフラグまたは入力に対しては、使用方法メッセージを出力します。

Date パラメーターによって日付を設定する場合、次のフォーマットを使用できます。

Date パラメーターの変数は次のように定義されます。

mm 月を指定します。
dd 月の日付を指定します。
HH 時間を指定します (24 時間制)。
MM 分を指定します。
YY 西暦の最初の 2 桁を指定します。
注:
西暦の最初の 2 桁を指定しない場合は、69 〜 99 の値は 20 世紀の 1969 〜 1999 年を示し、 00 〜 68 の値は 21 世紀の 2000 〜 2068 年を示します。
yy 西暦の最後の 2 桁を指定します。
注:
date コマンドは、4 桁の年を入力として受け入れます。たとえば、 4 桁の年が指定された場合、date コマンドはその年を "YYyy" に設定しようとし、その値が範囲外 (1970 より小さい、または 2037 より大きい) である場合は失敗します。

年が指定されない場合は、現在の年がデフォルト値として使用されます。システムは協定世界時 (CUT) で作動します。

date コマンドのあとに + (正符号) とフィールド・ディスクリプターを付けると、コマンドの出力を制御できます。各フィールド・ディスクリプターの前には % (パーセント記号) を付けなければなりません。システムは、フィールド・ディスクリプターを指定した値と置換します。リテラルの % は、%% (パーセント記号 2 つ) で入力してください。 date コマンドは、その他の文字を変更せずに出力にコピーします。 date コマンドは、文字列を常に改行文字で終わらせます。

フラグ

-a [ + | - ]sss[.fff ] sss.fff 秒により、遅延して時刻を調整します (fff は秒の少数部分を表します)。この調整は、正または負のどちらにも行うことができます。 システムのクロックは、指定された秒数によりドリフトするまでスピードアップまたはスローダウンします。
-n ローカル・エリア・ネットワーク内の、クロックが同期化されているすべてのマシンの時刻の設定を行いません。
-u 時刻を万国標準時 (CUT) で表示または設定します。

フィールド・ディスクリプター

%a ロケールの曜日名の省略型を表示します。
%A ロケールの曜日の完全名を表示します。
%b ロケールの月名の省略型を表示します。
%B ロケールの月の完全名を表示します。
%c ロケールの適切なフォーマットで日付と時刻を表示します。これはデフォルトです。
%C 4 桁の年の最初の 2 桁を 10 進数で表示します (00-99)。年は 100 で除算されて、小数点以下は切り捨てられます。
%d 日付を 10 進数で表示します (01 〜 31)。1 桁の日付の場合は、10 の位の空間を 0 で埋めて 2 桁のフィールドとします。
%D %m/%d/%y に相当するフォーマットで日付を表示します。
%e 日付を 10 進数で表示します (1 〜 31)。1 桁の月の場合は、10 の位の空間をスペースで埋めて 2 桁のフィールドとします。
%h ロケールの月名の省略型を表示します (%b の同義語です)。
%H 時 (24 時間制) を 10 進数で表示します (00 〜 23)。
%I 時 (12 時間制) を 10 進数で表示します (01 〜 12)。
%j 年間通算日を 10 進数で表示します (001 〜 366)。
%m 月を 10 進数で表示します (01 〜 12)。
%M 分数を 10 進法で表示します (00 〜 59)。
%n <改行> 文字を挿入します。
%p ロケールの AM か PM に相当するものを表示します。
%r 12 時間制の時刻 (01 〜 12) を、AM/PM 表記で表示します。POSIX ロケールでは、これは %I:%M:%S %p に相当します。
%S 秒数を 10 進数で表示します (00 〜 59)。
%t <タブ> 文字を挿入します。
%T 24 時間制の時間 (00 〜 23) を HH:MM:SS に相当するフォーマットで表示します。
%u 曜日を 1 から 7 までの 10 進法で表示します (日曜 =7)。 %w フィールド・ディスクリプターのセクションを参照してください。
%U 年間通算の週 (日曜を週の最初の日とする) を 10 進数 (00 〜 53) で表示します。新年の最初の日曜日の前にあるすべての日は、週 0 と見なされます。
%V 年の始めから何週目かを 01 から 53 までの 10 進法で表示します (月曜日を週の始めの曜日とします)。新しい年の 1 月 1 日を含む週が 4 日以上であれば、その週が第 01 週と見なされます。そうでない場合は、前年の第 53 週と見なされます。
%w 曜日を 0 から 6 までの 10 進法で表示します (日曜日 = 0)。 %u フィールド・ディスクリプターのセクションを参照してください。
%W 月曜日を週の始めの曜日として、年の始めから何週目かを 10 進数 (00 〜 53) で表示します。
%x ロケールの適切なフォーマットで日付を表示します。
%X ロケールの適切な時刻表示方法を表示します。
%y 西暦の下 2 桁を表示します (00 〜 99)。
%Y 4 桁の西暦年を 10 進数で表示します。
%Z 時間帯名を表示します。時間帯が確定できない場合は文字は表示されません。
%% % (パーセント記号) を表示します。

フィールド・ディスクリプターの修飾

%E および %O フィールド・ディスクリプターを修飾して、異なるフォーマットまたは仕様を示すことができます。現在のロケールで対応するキーワード (eraera_yearera_d_fmtalt_digits の各キーワードのセクションを参照) が指定されていないか、またはサポートされていない場合は、未修飾のフィールド・ディスクリプターが使用されます。

%Ec ロケールの適切な代替表示方法で日付と時刻を表示します。
%EC 基本年 (または他の期間) の名前をロケールの代替表示方法で表示します。
%Ex ロケールの代替表示方法で日付を表示します。
%EX ロケールの代替表示方法で時刻を表示します。
%Ey %EC フィールド・ディスクリプター (年のみ) からのオフセットをロケールの代替表示方法で示します。
%EY 完全な代替表示方法で年を表示します。
%Od ロケールの代替数値記号を使用して日付を表示します。
%Oe ロケールの代替数値記号を使用して日付を表示します。
%OH ロケールの代替数値記号を使用して時刻 (24 時間制) を表示します。
%OI ロケールの代替数値記号を使用して時刻 (12 時間制) を表示します。
%Om ロケールの代替数値記号を使用して月を表示します。
%OM ロケールの代替数値記号を使用して分数を表示します。
%OS ロケールの代替数値記号を使用して秒数を表示します。
%Ou ロケールの代替表示方法を使用して曜日を数字で表示します (月曜 =1)。
%OU ロケールの代替数値記号を使用して年の何週目であるかを表示します。日曜を週の最初の曜日と見なします。
%OV ロケールの代替数値記号を使用して年の何週目であるかを表示します。月曜を週の最初の曜日と見なします。
%Ow ロケールの代替表示方法を使用して曜日を数字で表示します (日曜 =0)。
%OW ロケールの代替数値記号を使用して年の何週目であるかを表示します。月曜を週の最初の曜日と見なします。
%Oy 代替表示方法で年 (%C からのオフセット) を表示します。

戻りコード

このコマンドは次の終了値を戻します。

0 日付が正常に書き込まれました。
>0 エラーが発生しました。

  1. 現在の日時を表示するには、次のように入力します。

    date
  2. 日付と時刻を設定するには、次のように入力します。

    date 0217142590
     

    タイムゾーンとして中央標準時 (CST) を使用しているシステムでは、これにより日付と時刻が Sat Feb 17 14:25:00 CST 1990 に設定されます。

  3. 日付と時刻を指定した形式で表示するには、次のように入力します。

    date +"%r %a %d %h %y (Julian Date: %j)"

    これにより、例 2 の日付が次のように表示されます。

    02:25:03 PM Fri 17 Feb 90 (Julian Date: 048)

関連情報