Hitachi

JP1 Version 10 JP1/Advanced Shell


dateコマンド(システムの日付と時刻を表示する)

〈このページの構成〉

形式

date[-u][-d 日時情報指定文字列 | -r 経過秒][+書式

機能

システムの日付と時刻を表示します。

引数

-u

--utc

--universal

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

-d 日時情報指定文字列

--date=日時情報指定文字列

表示する日時を日時情報指定文字列で指定します。複数指定した場合は最後の指定が有効になります。指定できる日時情報指定文字列については,「-dオプションで指定できる日時情報指定文字列」を参照してください。

-r 経過秒

エポック(UTCの1970年1月1日00:00:00)から,経過秒に指定した時間が経過した日時を表示します。経過秒に指定できる値は,-1009875600〜2147440447です。範囲外の値を指定した場合,出力する内容は保証できません。

+書式

日付と時刻の表示形式を書式指定コードで指定します。書式指定コードはOSのAPIであるstrftime関数の書式指定コードが指定できます。指定できる書式指定コードについては,「指定できる書式指定コード」を参照してください。

この引数を指定していない場合は,日付と時刻の表示形式は「%Y/%m/%d %A %H:%M:%S %Z」になります。

指定できる書式指定コード

「+」で始まる引数には,OSのAPIであるstrftime関数の書式指定コードが指定できます。このOSのAPIであるstrftime関数で指定できる書式指定コードは,OSによって異なります。各OSで指定できる書式指定コードについては,各OSのstrftime関数についてのドキュメントを参照してください。

各OSで共通して使用できる代表的な書式指定コードを次の表に示します。

書式指定コード

意味

%a

曜日の省略名

%A

曜日の正式名

%b

月の省略名

%B

月の正式名

%c

ロケールに対応する日付・時刻の表示

%d

10進数で表す月の日付(01〜31)

%H

24時間表記で表す時間(00〜23)

%I

12時間表記で表す時間(01〜12)

%j

10進数で表す年の初めからの日数(001〜366)

%m

10進数で表す月(01〜12)

%M

10進数で表す分(00〜59)

%p

現在のロケールの午前/午後

%S

10進数で表す秒。表示される値の範囲は,うるう秒への対応の違いから,OSによって異なる

%U

10進数で表す週の通し番号(00〜53)。その年の最初の日曜日を週の最初の日とする

%w

10進数で表す曜日(0〜6,日曜日が0)

%W

10進数で表す週の通し番号(00〜53)。その年の最初の月曜日を週の最初の日とする

%x

現在のロケールの日付の表示

%X

現在のロケールの時刻の表示

%y

10進数で表す西暦の下2桁(00〜99)

%Y

10進数で表す4桁の西暦

%Z

タイムゾーン名。タイムゾーンが不明な場合は表示しない

%%

%(パーセント)記号

-dオプションで指定できる日時情報指定文字列

日時情報指定文字列には,dateコマンドで表示したい日時を次のように指定します。

日時情報指定文字列の要素は大文字でも小文字でも指定できます。UTCの1970年1月1日0時0分0秒より小さい値,または2038年1月19日3時14分7秒より大きい値を指定した場合,エラーメッセージ「date: Invalid date: 指定値」を出力し,エラー終了します。ただし,AIXの場合,ローカルのタイムゾーンの2038年1月19日3時14分7秒より大きい値を指定すると,エラーメッセージ「date: Invalid date: 指定値」を出力し,エラー終了します。また,日時情報指定文字列として空文字を指定した場合,現在の日付の0時0分0秒を表示します。

日時情報指定文字列で指定できる要素と構文を次に示します。

「絶対日時の指定」および「相対日時の指定」は次の順序で算出されます。2.〜4.の途中で,秒に換算した結果が0〜2147483647の範囲を超えた場合,最終結果に関係なくエラーになることがあります。

  1. 現在の日時,または「絶対日時の指定」で指定された日時を求めます。

  2. 1.に対して,「相対日時の指定」で指定された「曜日の移動」の結果を加算します。「絶対日時の指定」で「日付の指定」の指定がされた場合は,「曜日の移動」の指定があっても加算しません。

  3. 2.に対して,「相対日時の指定」で指定された「年・月の移動」のすべての結果を加算・減算します。

  4. 3.に対して,「相対日時の指定」で指定された「日の移動」,「時・分の移動」,「秒の移動」のすべての結果を加算・減算します。

2.〜4.は計算対象の日時からの移動分を計算します。

例えば,現在の日時が2014年4月30日10時10分10秒のときに「date -d "Fri, 1 year 1 month 1 day 1 hour 1 min 1 sec"」が指定された場合,次のように計算します。

1.で,現在の日時を求めます。

⇒2014年4月30日(水曜日)10時10分10秒になります。

2.で,2014年4月30日(水曜日)から次の金曜日までの日数を足します。

⇒2014年5月2日(金曜日)10時10分10秒になります。

3.で,365日と2014年の5月分の日数を足します。

⇒2015年6月2日(月曜日)10時10分10秒になります。

4.で,1日分の日数と,1時間1分1秒の時間を足します。

⇒2015年6月3日(火曜日)11時11分11秒になります。

終了コード

終了コード

意味

0

正常終了

1以上

エラー終了

注意事項

使用例