UNIXの部屋 コマンド検索: date

TOP UNIXの部屋 コマンド一覧 コマンドマニュアル 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識


検索 :
複数のキーワードを空白で区切ると AND 検索を行います。例:「ファイル 削除」


date 現在の時刻 (日時) を表示・設定する

引数なしで実行すると、現在の時刻を表示する。
% date
Sun Oct 10 10:38:28 JST 1999
-u オプションを与えると、世界標準時で表示する。
% date -u
Sun Oct 10 01:38:58 GMT 1999
「+」のあとに文字列を指定すると、任意のフォーマットで表示できる。
% date "+%Y/%m/%d%n %H:%M:%S"
1997/2/25
06:04:41
フォーマットの書式は以下の通り。より詳しい書式は、strftime(3) を参照してほしい。
%y 年 (2桁表示)
%Y 年 (4桁表示)
%m 月 (2桁表示)
%d 日 (2桁表示)
%h 月 (英語表示 Jan,Feb...)
%H 時
%M 分
%S 秒
%n 改行
%t タブ
%% 「%」自体

n 時間後、n 日後、n ヵ月後などの時刻を知りたい場合は -v オプションを使えばよい。
% date -v+1y (1年後の時刻を表示)
% date -v+2m (2ヵ月後の時刻を表示)
% date -v+3w (3週間後の時刻を表示)
% date -v+4d (4日後の時刻を表示)
% date -v+5H (5時間後の時刻を表示)
% date -v+6M (6分後の時刻を表示)
% date -v+7S (7秒後の時刻を表示)
過去に戻る場合はプラスをマイナスに変える。
% date -v-1y (1年前の時刻を表示)
% date -v-2m (2ヵ月前の時刻を表示)
今から 1年後の 2週間前の時刻は、-v を複数回指定して
% date -v+1y -v-2w
とする。ただし、-v は BSD や GNU の date コマンドにしかなく、例えば Solaris の date では使えない。その場合はタイムゾーンを設定することで、ある程度までは対応できる (このような使い方はタイムゾーン本来の用途ではない)。

例えば日本時間は世界標準時間 GMT (≒UTC) より9時間早いので、
% date

% env TZ=JST-9 date
と等価である。よって、1日前 (24時間前) の日付を知りたければ -9+24=15 というタイムゾーンを設定すればよい。1日後 (24時間後) なら -9-24=-33 とすればよい。
% env TZ=JST+15 date (1日前の時刻を表示)
% env TZ=JST-33 date (1日後の時刻を表示)
タイムゾーンをプラスにすれば過去にさかのぼり、マイナスにすれば未来の時刻となることに注意。

date コマンドを使って現在時刻を設定することもできる。当然ながら時刻設定は root でないとできない。
# date 9803301445
⇒ 現在時刻を1998年3月31日14時45分に設定する。
# date 0632
⇒ 現在時刻を6時32分に設定する。日付は変更しない。
ネットワークを利用して正確な時刻に設定するには ntpdate を使うとよい。
>> コマンド ntpdate *