Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

date(1)

名前

date - 日付と時間の出力と設定

形式

/usr/bin/date [-u] [+
format]
/usr/bin/date [-a [-]
sss.fff]
/usr/bin/date [-u] [ [
mmdd] HHMM | mmddHHMM [
cc] yy] [.SS]
/usr/xpg4/bin/date [-u] [+
format]
/usr/xpg4/bin/date [-a [-]
sss.fff]
/usr/xpg4/bin/date [-u]
     [ [mmdd] HHMM | 
mmddHHMM [cc] yy] [
.SS]

説明

date ユーティリティーは、日付と時間を標準出力に出力するほか、システムの日付と時間の設定も行います。デフォルトでは、現在の日付と時間を出力します。

月や曜日の名前を各国語に変換する仕様がサポートされています。使用される月や曜日の名前は、環境変数 LC_TIME で指定されたロケールに基づいて決定しますenviron(7) を参照してください。

C ロケールのデフォルト形式は次のようになっています。

%a %b %e %T %Z %Y

たとえば、

Fri Dec 23 10:10:42 EST 1988

オプション

サポートしているオプションは、次のとおりです。

–a [ ] sss.fff

システムクロックをゆっくり調整します。調整の単位は sss.fff 秒です (fff は秒の小数部)。調整は、プラスとマイナスの両方が可能です。システムクロックは、指定された秒だけ速くまたは遅くなります。日付の調整を行うことができるのはスーパーユーザーだけです。

–u

日付の表示や設定を行う際に、通常のローカル時間に変換しないでグリニッジ標準時間 (GMT - 標準時間 ) を使用します。

オペランド

次のオペランドがサポートされています。

+format

引数が + で始まる場合、date の出力は、format と現時間を strftime() に渡すことによって得られる値になります。date は、strftime(3C) のマニュアルページにある変換規則と、%C の変換規則を使用します。この変換規則は、 /usr/bin/date/usr/xpg4/bin/date のどちらが使われているかにより異なります。

/usr/bin/date

ロケールの日付と時間の表現。date のデフォルト出力

/usr/xpg4/bin/date

西暦 (年の上 2 桁)。つまり、年を 100 で割って端数を切り捨てた数字 (00-99)。

さらに、日付には %N もサポートされています。これは、Epoch (1970 年 1 月 1 日の 00:00:00 UTC) からの現在時間のナノ秒部分を 10 進数 [000000000-999999999] で表現します。この変換仕様では、strftime() で指定されているオプションのフラグ文字、オプションのフィールド幅、またはその両方を指定できます。ただし、指定されたフィールド幅が 9 未満の場合、実際の日付出力には、ナノ秒部分の左から指定された桁数の数字だけが含まれています。

文字列は常に復帰改行文字で終わります。引数に空白文字が含まれるときは、引用符で囲んでください。詳細については「使用例」の項を参照してください。

mm

dd

HH

時 (24 時 (間) 表示 )

MM

SS

cc

西暦 (年の上 2 桁)。つまり、年を 100 で割って端数を切り捨てた数字 (00-99)。たとえば、1988 年の場合、cc19 で、2007 年の場合、cc は 20 です。

yy

年の下 2 桁。cc を指定しない場合、「69–99」という範囲は「1969 年から 1999 年まで (1969 年と 1999 年を含む)」を示し、「00–68」の範囲は「2000 年から 2068 年まで (2000 年と 2068 年を含む)」を示します。

月 (mm) 、日 (dd) 、年 (yy)、世紀 (cc) は省略できます。この場合は、現在の値がデフォルト値になります。例を示します。

example% date 10080045

この例では、日付と時刻が 10 月 8 日午前 12 時 45 分に設定されます。年を指定していないので、現在の年がデフォルトで使用されます。システムは GMT で動作していますが、date はローカルの標準時間の変換を処理します。日付を変更することができるのは、スーパーユーザーだけです。日付と時間を正しく設定し終わると、date は、デフォルトのフォーマットで新しい日付を表示します。また、date コマンドは正しいタイムゾーン情報を決定するために TZ を使用しています (environ(7) 参照)。

使用例 1 出力の生成

次のコマンドを見てください。

example% date '+DATE: %m/%d/%y%nTIME:%H:%M:%S'

このコマンドによって、次の内容が出力されます。

DATE: 08/01/76

TIME: 14:45:05
使用例 2 現在の時間の設定

次のコマンドは現在の時間を 12:34:56 に設定します。


example# date 1234.56
使用例 3 グリニッジ平均時による現在の時間の設定

次のコマンドは現在の時刻を 2000 年 1 月 1 日、午前 12 時 30 分に設定します。

example# date -u 010100302000

コマンドを実行すると、次のように表示されます。

Thu Jan 01 00:30:00 GMT 2000

環境変数

date の実行に影響を与える次の環境変数の詳細については、environ(7) を参照してください。LANG、LC_ALL、LC_CTYPE、LC_TIME、LC_MESSAGES、および NLSPATH。

TZ

–u オプションが省略されたときに、 時間と日付の出力に使用するタイムゾーンを指定します。この TZ 変数が設定されず、 –u も省略されている場合は、システムのデフォルトのタイムゾーンが 使用されます。

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

>0

エラーが発生しました。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

/usr/bin/date

属性タイプ
属性値
使用条件
system/core-os
CSI
有効

/usr/xpg4/bin/date

属性タイプ
属性値
使用条件
system/xopen/xcu4
CSI
有効
インタフェースの安定性
確実
標準
standards(7) を参照してください。

関連項目

strftime(3C), attributes(7), environ(7), standards(7)

診断

no permission

スーパーユーザーではないので日付を変更できません。

bad conversion

日付設定の構文が正しくありません。

標準タイムゾーンから別のタイムゾーンに切り替わる日 (たとえば、夏時間が始まる日または終わる日) を現在の日付とし、標準タイムゾーンの時間から別のタイムゾーンの時間に切り替わるときを現在の時間にしようとした場合の結果は、保証されません。

システムの日時の変更を行うために、ウィンドウ環境で date コマンドを使用すると、不具合が発生する可能性があります。この場合の結果は保証されません。また、ウィンドウ環境以外のマルチユーザーモードでも、システムの日時を大幅に変更したりすると、結果が不安定になることがあります。システムの日時を変更するには、コマンド date –a を使用することをお勧めします。

03:14:07 UTC Jan 19, 2038 を超える日時にシステム日時を設定すること、つまりその日時を越えてシステム日時が進行することは、Solaris ではサポートされていません。