date
Section: User Commands  (1)
Updated: 18 June 2002
Index
JM Home Page
roff page
 
名前
date - システムの日付と時刻を表示・設定する
 
書式
date
[-uR] [-d datestr] [-f datefile] [-r file] [-s datestr]
[-I [timespec]]
[--date=datestr] [--file=datefile]
[--iso-8601[=timespec]]
[--reference=file]
[--set=datestr]
[--rfc-822] [--universal] [--utc]
[+format] [MMDDhhmm[[CC]YY][.ss]]
date [--help] [--version]
 
説明
date
は引数を指定しないと、現在の時刻と日付を表示する
(表示形式は `%a %b %e %H:%M:%S %Z %Y' となる。以下を参照のこと)。
引数が指定され、かつその先頭が `+' で始まっておらず、
かつ実行者が適切な権限を持っていれば、
date
はシステムの時計を引数で指定された時刻・日付に設定する。
--date および --set
の両オプションは、このような引数と一緒に用いることはできない。
--universal
オプションをこのような引数とともに用いると、
指定した時刻・日付が (地方時ではなく)
協定世界時のものになる。
引数には数字だけを用いることができ、それぞれ以下の意味を持つ:
- MM
 - 
月
 - DD
 - 
日 (月内通算)
 - hh
 - 
時
 - mm
 - 
分
 - CC
 - 
年の最初の 2 桁 (省略可)
 - YY
 - 
年の最後の 2 桁 (省略可)
 - ss
 - 
秒 (省略可)
 
指定された引数が `+' で始まる場合には、
date
は現在の時刻と日付を表示する (あるいは
--date
オプションで指定された時刻と日付を指定する)。
表示形式はこの引数によって制御され、
引数の書式は
strftime(3)
関数にわたす文字列の書式と同じである。
`%' で始まるフィールドを除き、
format
文字列中の文字はそのまま変更されずに表示される。
 
時刻フィールド
- %H
 - 
時 (00..23)
 - %I
 - 
時 (01..12)
 - %k
 - 
時 (0..23)
 - %l
 - 
時 (1..12)
 - %M
 - 
分 (00..59)
 - %p
 - 
AM あるいは PM のロケール
 - %r
 - 
時刻、12 時間 (hh:mm:ss [AP]M)
 - %s
 - 
1970-01-01 00:00:00 UTC からの秒数 (標準外の拡張)
 - %S
 - 
秒 (00..60)
 - %T
 - 
時刻、24 時間 (hh:mm:ss)
 - %X
 - 
ロケールによる時刻の表現 (%H:%M:%S)
 - %Z
 - 
タイムゾーン (例 EDT)、
あるいはタイムゾーンが決定できないならば無し
 
 
日付フィールド
- %a
 - 
ロケールの省略形の曜日名 (Sun..Sat)
 - %A
 - 
ロケールの完全表記の曜日名、可変長 (Sunday..Saturday)
 - %b
 - 
ロケールの省略形の月名 (Jan..Dec)
 - %B
 - 
ロケールの完全表記の月名、可変長 (January..December)
 - %c
 - 
ロケールの日付と時刻 (Sat Nov 04 12:02:33 EST 1989)
 - %d
 - 
月内通算日数 (01..31)
 - %D
 - 
日付 (mm/dd/yy)
 - %h
 - 
%b と同じ
 - %j
 - 
年内通算日数 (001..366)
 - %m
 - 
月 (01..12)
 - %U
 - 
日曜日を週の最初の日とした年内通算週 (00..53)
 - %w
 - 
週のうちの曜日 (0..6) (0 が日曜日)
 - %W
 - 
月曜日を週の最初の日とした年内通算週 (00..53)
 - %x
 - 
ロケールの日付表現 (mm/dd/yy)
 - %y
 - 
年の最後の 2 つの数字 (00..99)
 - %Y
 - 
年 (1970...)
 
 
文字フィールド
- %%
 - 
文字 %
 - %n
 - 
改行
 - %t
 - 
水平タブ
 
 
文字埋め (padding)
デフォルトでは、
date
は数値のフィールドを 0 で埋める。したがって、例えば
数値表示の月は常に 2 桁で出力される。
GNU は
date
の機能を拡張しており、以下の非標準の数値修正子を `%' と
フィールドの間に置くことができる:
- -
 - 
(ハイフン) フィールドを埋めない。
出力が人に読まれる場合には便利である。
 - _
 - 
(アンダースコア) フィールドをスペースで埋める。
出力に決まった数の文字が必要だが、0 を使いたくない場合に便利である。
 
 
オプション
- -d datestr, --date datestr
 - 
現在の時刻・日付の代わりに、
datestr
で指定された時刻・日付を表示する。
datestr
は普通のフォーマットならだいたいなんでも使うことができる。
月名、タイムゾーン、`am' や `pm' なども用いてよい。
 - -f datefile, --file=datefile
 - 
-d
とともに指定された
datefile
を 1 行ずつパースして、結果の時刻と日付を表示する。
datefile
が `-' の場合は標準入力が用いられる。
これは、たくさんの日付を処理しなければならない場合に便利である。
date
の実行ファイルを何回も起動するオーバーヘッドは無視できないからである。
 - -r file, --reference=file
 - 
表示する時刻と日付を
file
の最終修正時刻にする。
 - -s datestr, --set datestr
 - 
時刻と日付を
datestr
に設定する。上述の
-d
を見よ。成功すると 0 を返し、失敗すると 0 以外を返す。
 - -u, --universal, --utc
 - 
タイムゾーンが地方時 (壁時計の時刻) ではなく
UTC0 (協定世界時、これはグリニッジ平均時もしくは GMT として知られている) に
設定されたものとする。
 - -I [timespec], --iso-8601[=timespec]
 - 
日付を ISO 8601 で指定されている書式 `%Y-%m-%d' で、
時刻を
timespec
で指定されている形式で表示する (後者のデフォルトは
auto)。
時刻部分の表示には `T' が前置され、`%z' 
(--utc
が指定されている場合には `%Z') が後置される。
- 
- auto
 - 
時刻を表示しない。
 - hours
 - 
その日の時刻を表示する。
 - minutes
 - 
時・分を表示する。
 - seconds
 - 
時・分・秒を表示する。
 
 
 - -R, --rfc-822
 - 
時刻と日付を RFC-822 で指定された書式である `%a,
%_d %b %Y %H:%M:%S %z' で表示する。
--utc
が同時に指定されると、`%z' の代わりに `GMT' を用いる。
日付と月の名前は `C' ロケールに基づいて表示される。
 - --help
 - 
標準出力に使用方法のメッセージを出力して正常終了する。
 - --version
 - 
標準出力にバージョン情報を出力して正常終了する。
 
 
例
一昨日の日付を表示するには:
- 
date --date '2 days ago'
 
3 ヶ月と 1 日後の日付を表示するには:
- 
date --date '3 months 1 day'
 
今年のクリスマスが年の初めから何日目かを表示するには:
- 
date --date '25 Dec' +%j
 
完全な月名と日付からなる書式で今日を表示するには:
- 
date '+%B %d'
 
しかしこの結果はお望みのものではないかもしれない。
なぜなら月の最初の 9 日を表示させるとき、`%d' は 2 桁のフィールドの
最初を 0 で埋めるからである。例えば `date -d 1-may '+%B %d''
の結果は `May 01' となる。
同じ日を、1 桁の日付の前に 0 を置かないように表示するには、
標準にはない `-' 修正子を用いて 0 埋めを行わないようにすればよい。
- 
date -d 1-may '+%B %-d'
 
 
注意
プログラムのバグについては bug-sh-utils@gnu.org に報告してください。
ページの更新は Ragnar Hojland Espinosa
<ragnar@ragnar-hojland.com> が行っています。
 Index
- 名前
 - 
 - 書式
 - 
 - 説明
 - 
- 時刻フィールド
 - 
 - 日付フィールド
 - 
 - 文字フィールド
 - 
 - 文字埋め (padding)
 - 
 
 - オプション
 - 
 - 例
 - 
 - 注意
 - 
 
This document was created by
man2html,
using the manual pages.
Time: 16:46:44 GMT, November 24, 2023