日付(date)は,空白で分けられた多くの項目を含む,空も可能な文字列 です.曖昧にならないとき,空白は省略できます.空の文字列は今日の始まり (すなわち真夜中)を意味します.項目の順序は重要ではありません.日付の文 字列は,項目の多くの特色を含むことができます.
我々は,これらの項目形式のそれぞれを,以下で順番に記述します.
いくつかの数字は,ほとんどの文脈で単語で書き出すことができます.これは 曜日の項目や相対的な項目を指定するとき,最も役に立ちます(以下を参照し てください).以下にリストがあります.1に対する`first',2に対する `next',3に対する`third',4に対する`fourth',5に対する `fifth',6に対する`sixth',7に対する`seventh',8に対す る`eighth',9に対する`ninth',10に対する`tenth',11に対 する`eleventh',そして12に対する`twelfth'です.また `last'は,正確に-1を意味します.
月をこの方法で書くとき,“完全な綴り”の代わりに,それは数字で書かれて いると考えられます.これは文字に変更することもできます.
現在の実装では,`AM',`DST',`EST',`first', `January',`Sunday',`tomorrow',そして`year'のよう な,単語と省略は英語のみサポートされています.
dateの出力は,言語の問題だけでなく,`IST'のようなタイム ゾーン項目に対する標準的な意味がないため,日付文字列として常に受け入れ 可能ではありません.後でパースする目的で日付文字列を生成するために dateを使用するとき,言語に独立して,`UTC'と`Z'以外 のタイムゾーン項目を使用しない日付の書式を指定してください.こうするた めの方法が,以下にいくつかあります.
$ LC_ALL=C TZ=UTC0 date Fri Dec 15 19:48:05 UTC 2000 $ TZ=UTC0 date +"%Y-%m-%d %H:%M:%SZ" 2000-12-15 19:48:05Z $ date --iso-8601=seconds # GNUの拡張 2000-12-15T11:48:05-0800 $ date --rfc-2822 # GNUの拡張 Fri, 15 Dec 2000 11:48:05 -0800 $ date +"%Y-%m-%d %H:%M:%S %z" # %zはGNUの拡張です. 2000-12-15 11:48:05 -0800
アルファベットの大文字小文字は,日付では完全に無視されます.コメントは, 適切に入れ子状になった丸カッコに含まれる限り,丸カッコの間で導入可能です. 数字に続かないハイフンは,現在無視されます.数字の前に前置されるゼロは無 視されます.