date(1) FreeBSD 一般コマンドマニュアル

date

前のページ 上に戻る 次のページ

date


          [+|-]val[ymwdHMS]] ... [-f fmt date | [[[[[cc]yy]mm]dd]HH]MM[.ss]]
          [+format]


解説

     引数なしで実行すると、 date ユーティリティは現在の日付と時刻を表示しま
     す。引数を与えると、日時の設定、あるいはユーザが定義したフォーマットに
     従った日付や時刻の表示を行います。

     なお、日付と時刻を設定できるのはスーパユーザだけです。システムのセキュリ
     ティレベル ( securelevel(8) を参照) が 1 より大きい場合、1 秒を越える時刻
     修正は許されません。

     オプション:

     -d dst  夏時間用のカーネル値を設定します。もし dst が 0 でなければ、その
             あとの gettimeofday(2) 呼び出しでは `tz_dsttime' に 0 以外の値が
             返ります。

     -f      デフォルトの [[[[yy]mm]dd]HH]MM[.ss] フォーマットの代りに fmt
             を、時刻をパーズするフォーマットとして使用します。 strptime(3) を
             使用してパーズします。

     -j      日付の設定を行いません。本フラグを使用し、 -f フラグを + オプショ
             ンとともに用いることで、日付の書式の変換ができます。

     -n      timed が動作している場合、デフォルトでは date コマンドによりグル
             ープ内のすべてのマシンの時刻が変更されます。しかし、 -n オプショ
             ンを指定した場合には、他のマシンの時刻は変更せず、このマシンのみ
             で時刻を設定します。

     -r seconds
             基準時点 (1970 年 1 月 1 日 00:00:00; time(3) 参照) から seconds
             秒経過した日時を表示します。 10 進数、8 進数、16 進数のいずれの指
             定も可能です。

     -t minutes_west
             カーネルに GMT (グリニッジ標準時) からの時差を設定します。このあ
             とに呼ばれる gettimeofday(2) では、ここで指定された値が
             `tz_minuteswest' に入ります。

     -u      UTC (協定世界時) の日付を表示、設定します。

     -v      秒、分、時、日、曜日、月、年のいずれかを val にもとづき修正します
             (すなわち、現在の日付を取得し、修正した結果を表示します。日付を設
             定するのではありません)。 val の前にプラスもしくはマイナスが付い
             ている場合、時刻はそれに従い前後に修正されます。そうでない場合
             は、指定した部分が設定されます。必要なら任意個このフラグを指定し
             て時刻を修正することが出来ます。フラグは指定した順序に処理されま
             す。

             (値を修正するのではなく) 値を指定する場合、秒の範囲は 0-59、分の
             範囲は 0-59、時の範囲は 1-12、日の範囲は 1-31、曜日の範囲は 0-6
             修正により 01:00 から 02:00 へ進むと仮定した場合、 -v +1H は時刻
             を 3 月 26 日 2:30 へ修正します。同様に、現在の時刻が 10 月 29 日
             0:30 であり、夏時間の修正により 02:00 から 01:00 へ戻ると仮定した
             場合、 -v +3H とすると時刻は 10 月 29 日 2:30 になります。

             存在しない特定の値 (例えば、ヨーロッパ/ロンドンのタイムゾーンで
             2000 年 3 月 26 日 1:30 BST) へ時刻を修正する場合、正当な時刻にな
             るまで、時刻は黙って 1 時間の単位で進められます。 2 回存在する特
             定の値 (例えば 2000 年 10 月 29 日 1:30) へ時刻を修正する場合、最
             終的なタイムゾーンは、 2 回の時刻のうち早いものに適合するものとな
             ります。

             詳細に関しては、下記の例を参照して下さい。

     プラス (`+') で始まるオプションは、日付と時刻の表示方法を指定するフォー
     マット文字列です。フォーマット文字列には、 strftime(3) で記述されているよ
     うな変換文字列と、任意のテキストを含むことができます。フォーマット文字列
     によって指定された文字の後には、つねに改行文字 (`\n') が出力されます。
     date のデフォルトの表示形式は、

           ``+%+''

     としたものと同じです。

     もし、引数が ``+'' 記号で始まる文字列でなければ、それはシステムに日時を設
     定するための値と解釈されます。日時を設定するための正式な表現は以下のとお
     りです:

           cc      世紀 (19 または 20 のいずれか) であり、西暦の省略表現の前に
                   付きます。
           yy      西暦の省略表現です。西暦の 10 の位と 1 の位です (1989 年な
                   ら 89、06 なら 2006)。
           mm      月の数字表現です。1 から 12 までの数字です。
           dd      日です。1 から 31 までの数字です。
           HH      時です。0 から 23 までの数字です。
           MM      分です。0 から 59 までの数字です。
           ss      秒です。0 から 61 までの数字です。 (59 秒 + 2 秒までのうる
                   う秒)

     分の指定以外はすべて省略可能です。

     夏時間と標準時の切り替えや、閏秒や閏年の取り扱いは自動的に行われます。


使用例

     以下のコマンド:

           date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"

     は、下のような表示を行ないます。

           DATE: 1987-11-21
           TIME: 13:36:16

     は 2000 年 2 月の最後の日を表示します:

           Tue Feb 29 03:18:00 GMT 2000

     以下のコマンド:

           date -v1d -v+1m -v-1d -v-fri

     は今月最後の金曜日を表示します:

           Fri Aug 29 04:31:11 BST 1997

     (現在 Mon Aug  4 04:31:11 BST 1997 の場合)。

     以下のコマンド:

           date 8506131627

     は、 ``1985 年 6 月 13 日午後 4 時 27 分'' に日時を設定します。

     以下のコマンド:

           date 1432

     は、日を修正することなく、時だけを 午後 2 時 32 分に設定します。


環境変数

     date の実行は以下の環境変数の影響を受けます.

     TZ      日時を表示する際に用いられるタイムゾーンを設定します。通常のフォ
             ーマットは /usr/share/zoneinfo からの相対パス名です。例えば、コマ
             ンド ``TZ=America/Los_Angeles date'' はカリフォルニアの現在の時刻
             を表示します。詳しいことは、 environ(7) を参照してください。


関連ファイル

     /var/log/wtmp      日付のリセットおよび時刻変更の記録がこのファイルに残さ
                        れます。
     /var/log/messages  日付を変更したユーザの記録がこのファイルに残されます。


関連項目

     gettimeofday(2), strftime(3), strptime(3), utmp(5), timed(8)

     R. Gusella and S. Zatti, TSP: The Time Synchronization Protocol for UNIX
     4.3BSD.


診断

     date ユーティリティは、成功した場合は 0 を、日時を設定できなかった場合は
     1 を、ローカルマシンの設定はできたが、グループのマシン全体の設定に失敗し
     た場合は 2 を返します。

     timed が多数のマシンの時計をあわせる場合には、新しい時刻のセットに数秒か


歴史

     date コマンドは Version 1 AT&T UNIX から導入されました。

FreeBSD 4.4                    November 17, 1993                   FreeBSD 4.4

ABELNET VPSサービス