date コマンド
目的
日付または時刻を表示または設定します。
構文
root ユーザーとして、日付と時刻を設定する
/usr/bin/date [ -n ] [ -u ] [ Date ] [ +FieldDescriptor ... ]
日付と時刻を表示する
/usr/bin/date [ -u ] [ +FieldDescriptor ... ]
root ユーザーとして、時刻 (秒単位) を調整する
/usr/bin/date [ -a [ + | - ]sss[.fff ]
説明
重要: マルチユーザー・モードでシステムが稼働している場合は、日付の変更は行わないでください。
date コマンドは、フラグを付けずに呼び出されるか、+ (正符号) で始まる
フラグ・リストを付けて呼び出されると、現在の日付と時刻を標準出力に書き出します。それ以外の場合は、現在の日付を設定します。日付と時刻を変更できるのは root ユーザーだけです。date コマンドは、認識されないフラグまたは入力に対しては、使用方法メッセージを出力します。
Date パラメーターによって日付を設定する場合、次のフォーマットを使用できます。
- mmddHHMM[YYyy]
- mmddHHMM[yy]
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)。 |
| %k |
24 時間時計を、右寄せし、スペースで充てんした数字
(0 から 23) で表示します。 |
|
%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)。 |
| %s |
協定世界時 (CUT) で 1970 年 1 月 1 日からの秒数を表示します。 |
|
%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 フィールド記述子を修飾すると、
異なるフォーマットまたは仕様を示すことができます。現在のロケールで対応するキーワード (era、era_year、era_d_fmt、alt_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 |
エラーが発生しました。 |
例
- 現在の日時を表示するには、次のように入力します。
date
- 日付と時刻を設定するには、次のように入力します。
date 0217142590
タイムゾーンとして CST を使用しているシステムでは、これにより日付と時刻が
Sat Feb 17 14:25:00 CST 1990 に設定されます。
注:
日付と時刻を変更するには、root ユーザー権限がなければなりません。
- 日付と時刻を指定したフォーマットで表示するには、次のように入力します。
date +"%r %a %d %h %y (Julian Date: %j)"
これにより、例 2 の日付が次のように表示されます。
02:25:03 PM Fri 17 Feb 90 (Julian Date: 048)
環境変数
次の環境変数が date コマンドの実行に影響します。
|
LANG |
LC_ALL とそれに対応する環境変数 (LC_
で始まる) の両方がロケールを指定していないときは、使用するロケールを決めます。 |
|
LC_ALL |
LANG または LC_ で始まる環境変数を
設定することによって指定されたロケール・カテゴリー値をオーバーライドするのに使用するロケールを
決定します。 |
|
LC_CTYPE |
テキスト・データのバイト・シーケンスを文字として解釈するのに使用するロケールを決めます (例えば、引数内の単一バイト文字対複数バイト文字)。 |
|
LC_MESSAGES |
メッセージを書き出す際の言語を決めます。 |
|
LC_TIME |
date によって書き込まれる日付および時刻の文字列の内容を決定します。 |
|
NLSPATH |
LC_MESSAGES の処理のためにメッセージ・カタログのロケーションを決定します。 |
|
TZ |
-u オプションが指定されていない場合に、時刻と日付が書き込まれるタイムゾーンを指定します。TZ 変数が設定されていないで、また -u フラグも指定されない場合、未指定システムのデフォルト・タイムゾーンが使われます。 |