@node Date input formats
@c @chapter Date input formats
@chapter 日付入力の書式

@cindex date input formats
@findex getdate

@c First, a quote:
@c 
最初の引用：

@quotation
@c Our units of temporal measurement, from seconds on up to months, are so
@c complicated, asymmetrical and disjunctive so as to make coherent mental
@c reckoning in time all but impossible.  Indeed, had some tyrannical god
@c contrived to enslave our minds to time, to make it all but impossible
@c for us to escape subjection to sodden routines and unpleasant surprises,
@c he could hardly have done better than handing down our present system.
@c It is like a set of trapezoidal building blocks, with no vertical or
@c horizontal surfaces, like a language in which the simplest thought
@c demands ornate constructions, useless particles and lengthy
@c circumlocutions.  Unlike the more successful patterns of language and
@c science, which enable us to face experience boldly or at least
@c level-headedly, our system of temporal calculation silently and
@c persistently encourages our terror of time.
@c 
我々の時間を計る単位は，秒から月まであり，かなり複雑で，非対称で，連結
できないので，徹頭徹尾，頭の計算で間に合わせることは，ほとんど不可能で
す．本当に，非道な神が我々を時間の奴隷にし，我々がぼんやりした繰り返し
仕事と不快な驚きへの従属から逃げることをほぼ不可能にしようと企てたので，
彼は我々の現在のシステムを伝える以上のことを行うことができませんでした．
それは，台形の建築用ブロックの集合に似ていて垂直や水平の表面が無く，最
も単純な考えで，建造物を飾り立てることを要求された言語に似ていて役に立
たない微粒子と長い遠回しな表現です．我々がはっきりとした，または，少な
くとも頭打ちな経験に直面することを可能にした，より成功した言語と科学の
のパターンと異なり，我々の時間を計るシステムは，静かにそして繰り返し，
時間の恐怖を呼び起こします．

@c @dots{}  It is as though architects had to measure length in feet, width
@c in meters and height in ells; as though basic instruction manuals
@c demanded a knowledge of five different languages.  It is no wonder then
@c that we often look into our own immediate past or future, last Tuesday
@c or a week from Sunday, with feelings of helpless confusion.  @dots{}
@c 
@dots{} それは，建築家がフィートで長さを，メートルで幅を，そしてellで
高さを計る必要があるかのようなものです．基本的な指示用のマニュアルで，
五つの異なる言語の知識を必要とするかのようなものです．我々が，どうにも
ならない混乱した気分で，この間の火曜日や日曜日からの一週間といった，短
い過去あるいは近い将来を調査することがよくあるのは，不思議ではありませ
ん． @dots{} @footnote{この引用の訳は，訳者本人が理解できていません．}

--- Robert Grudin, @cite{Time and the Art of Living}.
@end quotation

@c This section describes the textual date representations that @sc{gnu}
@c programs accept.  These are the strings you, as a user, can supply as
@c arguments to the various programs.  The C interface (via the
@c @code{getdate} function) is not described here.
@c 
このセクションでは，@sc{gnu}プログラムが受け入れる，文章上での日付の表
現を記述します．これらは，様々なプログラムの引数としてユーザが供給可能
な文字列です．(@code{getdate}関数による)Cのインターフェースはここでは
述べません．

@cindex beginning of time, for @acronym{POSIX}
@cindex epoch, for @acronym{POSIX}
@c Although the date syntax here can represent any possible time since the
@c year zero, computer integers often cannot represent such a wide range of
@c time.  On @acronym{POSIX} systems, the clock starts at 1970-01-01 00:00:00
@c @sc{utc}: @acronym{POSIX} does not require support for times before the
@c @acronym{POSIX} Epoch and times far in the future.  Traditional Unix systems
@c have 32-bit signed @code{time_t} and can represent times from 1901-12-13
@c 20:45:52 through 2038-01-19 03:14:07 @sc{utc}.  Systems with 64-bit
@c signed @code{time_t} can represent all the times in the known
@c lifetime of the universe.
@c 
ここでの日付の構文は，0年から表現することは可能ですが，コンピュータの
整数は，そのような長い範囲を表現することができないことがよくあります．
@acronym{POSIX}システム上では，時刻は1970-01-01 00:00:00 @sc{utc}から
始まります．@acronym{POSIX}は，@acronym{POSIX}エポック時間より前と，遠
い将来の時間のサポートを要求しません．伝統的なUnixシステムは，32ビット
の符号付き@code{time_t}があり，1901-12-13 20:45:52から2038-01-19
03:14:07 @sc{utc}まで表現可能です．64ビットの符号付き@code{time_t}を用
いたシステムでは，知られている宇宙の一生の全ての時間を表現可能です．

@menu
* General date syntax::            Common rules.
* Calendar date items::            19 Dec 1994.
* Time of day items::              9:20pm.
* Time zone items::                @sc{est}, @sc{pdt}, @sc{gmt}, ...
* Day of week items::              Monday and others.
* Relative items in date strings:: next tuesday, 2 years ago.
* Pure numbers in date strings::   19931219, 1440.
* Authors of getdate::             Bellovin, Eggert, Salz, Berets, et al.
@end menu


@node General date syntax
@c @section General date syntax
@section 一般的な日付の構文

@cindex general date syntax

@cindex items in date strings
@c A @dfn{date} is a string, possibly empty, containing many items
@c separated by whitespace.  The whitespace may be omitted when no
@c ambiguity arises.  The empty string means the beginning of today (i.e.,
@c midnight).  Order of the items is immaterial.  A date string may contain
@c many flavors of items:
@c 
@dfn{日付(date)}は，空白で分けられた多くの項目を含む，空も可能な文字列
です．曖昧にならないとき，空白は省略できます．空の文字列は今日の始まり
(すなわち真夜中)を意味します．項目の順序は重要ではありません．日付の文
字列は，項目の多くの特色を含むことができます．

@itemize @bullet
@c @item calendar date items
@c @item time of the day items
@c @item time zone items
@c @item day of the week items
@c @item relative items
@c @item pure numbers.
@c 
@item カレンダーの日付項目
@item その日の時間の項目
@item タイムゾーンの項目
@item 曜日の項目
@item 相対的な項目
@item 純粋な数字
@end itemize

@noindent
@c We describe each of these item types in turn, below.
@c 
我々は，これらの項目形式のそれぞれを，以下で順番に記述します．

@cindex numbers, written-out
@cindex ordinal numbers
@findex first @r{in date strings}
@findex next @r{in date strings}
@findex last @r{in date strings}
@c A few numbers may be written out in words in most contexts.  This is
@c most useful for specifying day of the week items or relative items (see
@c below).  Here is the list: @samp{first} for 1, @samp{next} for 2,
@c @samp{third} for 3, @samp{fourth} for 4, @samp{fifth} for 5,
@c @samp{sixth} for 6, @samp{seventh} for 7, @samp{eighth} for 8,
@c @samp{ninth} for 9, @samp{tenth} for 10, @samp{eleventh} for 11 and
@c @samp{twelfth} for 12.  Also, @samp{last} means exactly @math{-1}.
@c 
いくつかの数字は，ほとんどの文脈で単語で書き出すことができます．これは
曜日の項目や相対的な項目を指定するとき，最も役に立ちます(以下を参照し
てください)．以下にリストがあります．1に対する@samp{first}，2に対する
@samp{next}，3に対する@samp{third}，4に対する@samp{fourth}，5に対する
@samp{fifth}，6に対する@samp{sixth}，7に対する@samp{seventh}，8に対す
る@samp{eighth}，9に対する@samp{ninth}，10に対する@samp{tenth}，11に対
する@samp{eleventh}，そして12に対する@samp{twelfth}です．また
@samp{last}は，正確に@math{-1}を意味します．

@cindex months, written-out
@c When a month is written this way, it is still considered to be written
@c numerically, instead of being ``spelled in full''; this changes the
@c allowed strings.
@c 
月をこの方法で書くとき，``完全な綴り''の代わりに，それは数字で書かれて
いると考えられます．これは文字に変更することもできます．

@cindex language, in dates
@c In the current implementation, only English is supported for words and
@c abbreviations like @samp{AM}, @samp{DST}, @samp{EST}, @samp{first},
@c @samp{January}, @samp{Sunday}, @samp{tomorrow}, and @samp{year}.
@c 
現在の実装では，@samp{AM}，@samp{DST}，@samp{EST}，@samp{first}，
@samp{January}，@samp{Sunday}，@samp{tomorrow}，そして@samp{year}のよう
な，単語と省略は英語のみサポートされています．

@cindex language, in dates
@cindex time zone item
@c The output of @command{date} is not always acceptable as a date string,
@c not only because of the language problem, but also because there is no
@c standard meaning for time zone items like @samp{IST}.  When using
@c @command{date} to generate a date string intended to be parsed later,
@c specify a date format that is independent of language and that does not
@c use time zone items other than @samp{UTC} and @samp{Z}.  Here are some
@c ways to do this:
@c 
@command{date}の出力は，言語の問題だけでなく，@samp{IST}のようなタイム
ゾーン項目に対する標準的な意味がないため，日付文字列として常に受け入れ
可能ではありません．後でパースする目的で日付文字列を生成するために
@command{date}を使用するとき，言語に独立して，@samp{UTC}と@samp{Z}以外
のタイムゾーン項目を使用しない日付の書式を指定してください．こうするた
めの方法が，以下にいくつかあります．

@example
$ 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
@c $ date --iso-8601=seconds  # a GNU extension
@c 
$ date --iso-8601=seconds  # GNUの拡張
2000-12-15T11:48:05-0800
@c $ date --rfc-2822  # a GNU extension
@c 
$ date --rfc-2822  # GNUの拡張
Fri, 15 Dec 2000 11:48:05 -0800
@c $ date +"%Y-%m-%d %H:%M:%S %z"  # %z is a GNU extension.
@c 
$ date +"%Y-%m-%d %H:%M:%S %z"  # %zはGNUの拡張です．
2000-12-15 11:48:05 -0800
@end example

@cindex case, ignored in dates
@cindex comments, in dates
@c Alphabetic case is completely ignored in dates.  Comments may be introduced
@c between round parentheses, as long as included parentheses are properly
@c nested.  Hyphens not followed by a digit are currently ignored.  Leading
@c zeros on numbers are ignored.
@c 
アルファベットの大文字小文字は，日付では完全に無視されます．コメントは，
適切に入れ子状になった丸カッコに含まれる限り，丸カッコの間で導入可能です．
数字に続かないハイフンは，現在無視されます．数字の前に前置されるゼロは無
視されます．


@node Calendar date items
@c @section Calendar date items
@section カレンダーの日付の項目

@cindex calendar date item

@c A @dfn{calendar date item} specifies a day of the year.  It is
@c specified differently, depending on whether the month is specified
@c numerically or literally.  All these strings specify the same calendar date:
@c 
@dfn{カレンダーの日付の項目(calendar date item)}は年の日付を指定します．
それは，月が数字で指定されるか，文字で指定されるかによって異なりますこ
れら全ての文字列は，同じカレンダーの日付を指定します．

@example
@c 1972-09-24     # @sc{iso} 8601.
@c 72-9-24        # Assume 19xx for 69 through 99,
@c                # 20xx for 00 through 68.
@c 72-09-24       # Leading zeros are ignored.
@c 9/24/72        # Common U.S. writing.
@c 24 September 1972
@c 24 Sept 72     # September has a special abbreviation.
@c 24 Sep 72      # Three-letter abbreviations always allowed.
@c 
72-9-24        # 69から99までは19xxだと仮定され，
               # 00から68までは20xxだと仮定されます．
72-09-24       # 前置されるゼロは無視されます．
9/24/72        # 一般的な U.S. での書き方です．
24 September 1972
24 Sept 72     # 九月には特殊な省略があります．
24 Sep 72      # 三文字の省略は常に可能です．
Sep 24, 1972
24-sep-72
24sep72
@end example

@c The year can also be omitted.  In this case, the last specified year is
@c used, or the current year if none.  For example:
@c 
年も省略できます．この場合，最後に指定された年，または，無ければ現在の
年が利用されます．例えば，以下のようになります．

@example
9/24
sep 24
@end example

@c Here are the rules.
@c 
以下の規則があります．

@cindex @sc{iso} 8601 date format
@cindex date format, @sc{iso} 8601
@c For numeric months, the @sc{iso} 8601 format
@c @samp{@var{year}-@var{month}-@var{day}} is allowed, where @var{year} is
@c any positive number, @var{month} is a number between 01 and 12, and
@c @var{day} is a number between 01 and 31.  A leading zero must be present
@c if a number is less than ten.  If @var{year} is 68 or smaller, then 2000
@c is added to it; otherwise, if @var{year} is less than 100,
@c then 1900 is added to it.  The construct
@c @samp{@var{month}/@var{day}/@var{year}}, popular in the United States,
@c is accepted.  Also @samp{@var{month}/@var{day}}, omitting the year.
@c 
数字の月に対し，@sc{iso} 8601書式
@samp{@var{year}-@var{month}-@var{day}} が可能で，@var{year}は正の数，
@var{month}は01と12の間の数，そして@var{day}は01と31の間の数です．数字
が10未満の場合，ゼロを前置する必要があります．@var{year}が68以下の場合，
2000が加えられます．それ以外の場合で，@var{year}が100未満の場合，1900
が加えられます．合州国でよく使用される
@samp{@var{month}/@var{day}/@var{year}}の構成も受け入れられます．同様
に，年を削除すると@samp{@var{month}/@var{day}}です．

@cindex month names in date strings
@cindex abbreviations for months
@c Literal months may be spelled out in full: @samp{January},
@c @samp{February}, @samp{March}, @samp{April}, @samp{May}, @samp{June},
@c @samp{July}, @samp{August}, @samp{September}, @samp{October},
@c @samp{November} or @samp{December}.  Literal months may be abbreviated
@c to their first three letters, possibly followed by an abbreviating dot.
@c It is also permitted to write @samp{Sept} instead of @samp{September}.
@c 
文字の月は完全に綴ることもできます．@samp{January}，@samp{February}，
@samp{March}，@samp{April}，@samp{May}，@samp{June}，@samp{July}，
@samp{August}，@samp{September}，@samp{October}，@samp{November}，また
は，@samp{December}です．文字の月は最初の三文字で省略でき，省略のドッ
トの後置も可能です．@samp{September}の代わりに@samp{Sept}と書くことも
許可されています．

@c When months are written literally, the calendar date may be given as any
@c of the following:
@c 
月が文字で書かれるとき，カレンダーの日付は以下のようにして与えられます．

@example
@var{day} @var{month} @var{year}
@var{day} @var{month}
@var{month} @var{day} @var{year}
@var{day}-@var{month}-@var{year}
@end example

@c Or, omitting the year:
@c 
または，年を省略します．

@example
@var{month} @var{day}
@end example


@node Time of day items
@c @section Time of day items
@section 日付の時間の項目

@cindex time of day item

@c A @dfn{time of day item} in date strings specifies the time on a given
@c day.  Here are some examples, all of which represent the same time:
@c 
日付文字列での@dfn{日付の時間の項目(time of day item)}は，与えられた日付
の時間を指定します．以下にいくつか例があり，全て同じ時間を表現しています．

@example
20:02:0
20:02
8:02pm
@c 20:02-0500      # In @sc{est} (U.S. Eastern Standard Time).
@c 
20:02-0500      # @sc{est} (合州国東部標準時)
@end example

@c More generally, the time of the day may be given as
@c @samp{@var{hour}:@var{minute}:@var{second}}, where @var{hour} is
@c a number between 0 and 23, @var{minute} is a number between 0 and
@c 59, and @var{second} is a number between 0 and 59.  Alternatively,
@c @samp{:@var{second}} can be omitted, in which case it is taken to
@c be zero.
@c 
より一般的に，日付の時間は，
@samp{@var{hour}:@var{minute}:@var{second}} として与えることができ，
@var{hour}は0と23の間の数字，@var{minute}は0と59 の間の数字，そして
@var{second}は0と59の間の数字です．代わりに，@samp{:@var{second}}は省
略でき，その場合，それは0です．

@findex am @r{in date strings}
@findex pm @r{in date strings}
@findex midnight @r{in date strings}
@findex noon @r{in date strings}
@c If the time is followed by @samp{am} or @samp{pm} (or @samp{a.m.}
@c or @samp{p.m.}), @var{hour} is restricted to run from 1 to 12, and
@c @samp{:@var{minute}} may be omitted (taken to be zero).  @samp{am}
@c indicates the first half of the day, @samp{pm} indicates the second
@c half of the day.  In this notation, 12 is the predecessor of 1:
@c midnight is @samp{12am} while noon is @samp{12pm}.
@c (This is the zero-oriented interpretation of @samp{12am} and @samp{12pm},
@c as opposed to the old tradition derived from Latin
@c which uses @samp{12m} for noon and @samp{12pm} for midnight.)
@c 
時間に@samp{am}や@samp{pm}(または，@samp{a.m.}や@samp{p.m.})が続く場合，
@var{hour}は1から12までの実行に限定され，@samp{:@var{minute}}は省略で
きます(ゼロとされます)．@samp{am}は午前を示し，@samp{pm}は午後を示しま
す．この注釈で，12は1の前になります．真夜中は@samp{12am}で，一方正午は
@samp{12pm}です．(これは，@samp{12am}を正午，@samp{12pm}を真夜中として
使用する，ラテン語に由来する古い伝統の反対となる，@samp{12am}と
@samp{12pm} のゼロを起点にした解釈です．)

@cindex time zone correction
@cindex minutes, time zone correction by
@c The time may alternatively be followed by a time zone correction,
@c expressed as @samp{@var{s}@var{hh}@var{mm}}, where @var{s} is @samp{+}
@c or @samp{-}, @var{hh} is a number of zone hours and @var{mm} is a number
@c of zone minutes.  When a time zone correction is given this way, it
@c forces interpretation of the time relative to
@c Coordinated Universal Time (@sc{utc}), overriding any previous
@c specification for the time zone or the local time zone.  The @var{minute}
@c part of the time of the day may not be elided when a time zone correction
@c is used.  This is the best way to specify a time zone correction by
@c fractional parts of an hour.
@c 
時刻は，代わりにタイムゾーン補正を続けることができ，それは
@samp{@var{s}@var{hh}@var{mm}}として表現され，@var{s}は@samp{+}または
@samp{-}，@var{hh}は時間の数字，そして@var{mm}は地域の分の数字になりま
す．タイムゾーン修正がこのように与えられるとき，それは，世界標準時
(@sc{utc}) に関連する時間として解釈され，タイムゾーンや地域的タイムゾー
ンに対する，あらゆる前置される指定に優先します．日付の時間の
@var{minute}の部分は，タイムゾーン修正が使用されるとき省略できません．
これは，時間の分数部分でタイムゾーン修正を指定する唯一の方法です．

@c Either @samp{am}/@samp{pm} or a time zone correction may be specified,
@c but not both.
@c 
@samp{am}/@samp{pm}やタイムゾーン修正は，どちらか一方のみ指定でき，両
方はできません．


@node Time zone items
@c @section Time zone items
@section タイムゾーンの項目

@cindex time zone item

@c A @dfn{time zone item} specifies an international time zone, indicated
@c by a small set of letters, e.g., @samp{UTC} or @samp{Z}
@c for Coordinated Universal
@c Time.  Any included periods are ignored.  By following a
@c non-daylight-saving time zone by the string @samp{DST} in a separate
@c word (that is, separated by some white space), the corresponding
@c daylight saving time zone may be specified.
@c 
@dfn{タイムゾーンの項目(time zone item)}は，国際的なタイムゾーンを指定
し，例えば世界標準時に対する@samp{UTC}や@samp{Z}のような小さな文字集合
で示されます．含まれるピリオドは全て無視されます．別々の(すなわち，い
くつかの空白で区切られている)単語内の文字列@samp{DST}が夏時間でないタ
イムゾーンに続くことで，対応する夏時間のタイムゾーンが指定可能です．

@c Time zone items other than @samp{UTC} and @samp{Z}
@c are obsolescent and are not recommended, because they
@c are ambiguous; for example, @samp{EST} has a different meaning in
@c Australia than in the United States.  Instead, it's better to use
@c unambiguous numeric time zone corrections like @samp{-0500}, as
@c described in the previous section.
@c 
@samp{UTC}と@samp{Z}以外のタイムゾーンの項目は時代遅れで，曖昧なので推
奨されません．例えば，@samp{EST}はオーストラリアと合州国では異なる意味
を持ちます．代わりに，前のセクションで記述されている，@samp{-0500}のよ
うな曖昧でない数字のタイムゾーンコレクションを使用した方が良いでしょう．


@node Day of week items
@c @section Day of week items
@section 曜日の項目

@cindex day of week item

@c The explicit mention of a day of the week will forward the date
@c (only if necessary) to reach that day of the week in the future.
@c 
曜日の明示的な記述は，将来，曜日に到達するよう，(必要なら)日付に前置さ
れます．

@c Days of the week may be spelled out in full: @samp{Sunday},
@c @samp{Monday}, @samp{Tuesday}, @samp{Wednesday}, @samp{Thursday},
@c @samp{Friday} or @samp{Saturday}.  Days may be abbreviated to their
@c first three letters, optionally followed by a period.  The special
@c abbreviations @samp{Tues} for @samp{Tuesday}, @samp{Wednes} for
@c @samp{Wednesday} and @samp{Thur} or @samp{Thurs} for @samp{Thursday} are
@c also allowed.
@c 
曜日は，完全に綴ることができます．@samp{Sunday}，@samp{Monday}，
@samp{Tuesday}，@samp{Wednesday}，@samp{Thursday}，@samp{Friday}，また
は，@samp{Saturday}です．曜日は，最初の三文字で省略でき，追加のピリオ
ドを続けることができます．特別な省略として，@samp{Tuesday}に対する
@samp{Tues}，@samp{Wednesday}に対する@samp{Wednes}，そして，
@samp{Thursday}に対する@samp{Thur}や@samp{Thurs}も許可されています．

@findex next @var{day}
@findex last @var{day}
@c A number may precede a day of the week item to move forward
@c supplementary weeks.  It is best used in expression like @samp{third
@c monday}.  In this context, @samp{last @var{day}} or @samp{next
@c @var{day}} is also acceptable; they move one week before or after
@c the day that @var{day} by itself would represent.
@c 
前置された追加分の週を移動するため，数字を曜日項目に前置することができ
ます．それは，@samp{third monday}のような表現が最も良い使用法です．こ
の文脈では，@samp{last @var{day}}や@samp{next @var{day}}も受け入れられ
ます．それらは@var{day}で表現されている日付の一週間前，または後になり
ます．

@c A comma following a day of the week item is ignored.
@c 
曜日に続くカンマは無視されます．


@node Relative items in date strings
@c @section Relative items in date strings
@section 日付文字の相対的な項目

@cindex relative items in date strings
@cindex displacement of dates

@c @dfn{Relative items} adjust a date (or the current date if none) forward
@c or backward.  The effects of relative items accumulate.  Here are some
@c examples:
@c 
@dfn{相対的な項目(Relative items)}は，日付(それが無い場合は現在の日付)
を前後に調整します．相対的な項目の効果は蓄積されます．以下にいくつか例
があります．

@example
1 year
1 year ago
3 years
2 days
@end example

@findex year @r{in date strings}
@findex month @r{in date strings}
@findex fortnight @r{in date strings}
@findex week @r{in date strings}
@findex day @r{in date strings}
@findex hour @r{in date strings}
@findex minute @r{in date strings}
@c The unit of time displacement may be selected by the string @samp{year}
@c or @samp{month} for moving by whole years or months.  These are fuzzy
@c units, as years and months are not all of equal duration.  More precise
@c units are @samp{fortnight} which is worth 14 days, @samp{week} worth 7
@c days, @samp{day} worth 24 hours, @samp{hour} worth 60 minutes,
@c @samp{minute} or @samp{min} worth 60 seconds, and @samp{second} or
@c @samp{sec} worth one second.  An @samp{s} suffix on these units is
@c accepted and ignored.
@c 
時間の置換の単位は，年や月全体を移動するため，文字列@samp{year}や
@samp{month}が選択できます．年や月は全てが同じ期間ではないので，これら
は曖昧な単位です．より正確な単位は，14日と等価な@samp{fortnight}，7日
と等価な@samp{week}，24時間と等価な@samp{day}，60分と等価な@samp{hour}，
60秒と等価な@samp{minute}や@samp{min}，そして1秒と等価な@samp{second}
や@samp{sec}です．これらの単位の@samp{s}接尾子は受け入れられ，無視され
ます．

@findex ago @r{in date strings}
@c The unit of time may be preceded by a multiplier, given as an optionally
@c signed number.  Unsigned numbers are taken as positively signed.  No
@c number at all implies 1 for a multiplier.  Following a relative item by
@c the string @samp{ago} is equivalent to preceding the unit by a
@c multiplier with value @math{-1}.
@c 
時間の単位は乗数を前置でき，それは追加の符号付きの数字で与えられます．
符号無しの数字は，正の符号として扱われます．全く数字が無いものは，乗数
として1が暗示されます．文字列@samp{ago}が続く相対的な項目は，値
@math{-1}の乗数が前置された単位と等価です．

@findex day @r{in date strings}
@findex tomorrow @r{in date strings}
@findex yesterday @r{in date strings}
@c The string @samp{tomorrow} is worth one day in the future (equivalent
@c to @samp{day}), the string @samp{yesterday} is worth
@c one day in the past (equivalent to @samp{day ago}).
@c 
文字列@samp{tomorrow}は，未来の1日と等価で(@samp{day}と等価)，文字列
@samp{yesterday}は，過去の1日と等価です(@samp{day ago}と等価)．

@findex now @r{in date strings}
@findex today @r{in date strings}
@findex this @r{in date strings}
@c The strings @samp{now} or @samp{today} are relative items corresponding
@c to zero-valued time displacement, these strings come from the fact
@c a zero-valued time displacement represents the current time when not
@c otherwise changed by previous items.  They may be used to stress other
@c items, like in @samp{12:00 today}.  The string @samp{this} also has
@c the meaning of a zero-valued time displacement, but is preferred in
@c date strings like @samp{this thursday}.
@c 
文字列@samp{now}や@samp{today}は，ゼロ値の時間を置換する相対的な項目で，
これらの文字列は，ゼロ値の時間を置換することが前の項目で変化されていな
いときの現在時間を表現するという事実に由来します．それらは@samp{12:00
today}のように，他の項目を強調するために使用できます．文字列
@samp{this} もゼロ値の時間を置換する意味を持ちますが，@samp{this
thursday}のような日付文字列で好まれます．

@c When a relative item causes the resulting date to cross a boundary
@c where the clocks were adjusted, typically for daylight-saving time,
@c the resulting date and time are adjusted accordingly.
@c 
相対的な項目が，調整された時刻を跨るために結果として日付が生成されると
き，特に夏時間では，結果として生じる日付と時間は，それに応じて調整され
ます．

@c The fuzz in units can cause problems with relative items.  For
@c example, @samp{2003-07-31 -1 month} might evaluate to 2003-07-01,
@c because 2003-06-31 is an invalid date.  To determine the previous
@c month more reliably, you can ask for the month before the 15th of the
@c current month.  For example:
@c 
曖昧な単位は相対的な項目では問題になるはずです．例えば，
@samp{2003-07-31 -1 month}は，2003-06-31が有効な日付ではないので，
2003-07-01と評価される可能性があります．直前の月の決定をより信頼性のあ
るものにするため，現在の月の15日前の月を尋ねることが可能です．例えば以
下のようにします．

@example
$ date -R
Thu, 31 Jul 2003 13:02:39 -0700
$ date --date="-1 month" +'Last month was %B?'
Last month was July?
$ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!'
Last month was June!
@end example

@c Also, take care when manipulating dates around clock changes such as
@c daylight saving leaps.  In a few cases these have added or subtracted
@c as much as 24 hours from the clock, so it is often wise to adopt
@c universal time by setting the @env{TZ} environment variable to
@c @samp{UTC0} before embarking on calendrical calculations.
@c 
同様に，昼間の時刻合わせのような，時刻の変化を用いて日付を操作するとき
も注意して下さい．現在の時刻から24時間以上追加または削除する状況があり，
日付計算を開始する前に，@env{TZ}環境変数を@samp{UTC0}に設定することで，
標準時に対応しておいたほうがよいでしょう．

@node Pure numbers in date strings
@c @section Pure numbers in date strings
@section 日付文字列の純粋な数字

@cindex pure numbers in date strings

@c The precise interpretation of a pure decimal number depends
@c on the context in the date string.
@c 
純粋な十進数の正確な解釈は，日付文字列の文脈に依存します．

@c If the decimal number is of the form @var{yyyy}@var{mm}@var{dd} and no
@c other calendar date item (@pxref{Calendar date items}) appears before it
@c in the date string, then @var{yyyy} is read as the year, @var{mm} as the
@c month number and @var{dd} as the day of the month, for the specified
@c calendar date.
@c 
十進数が，形式@var{yyyy}@var{mm}@var{dd}で，他のカレンダーの日付項目
(@pxref{Calendar date items})が，その日付項目の前に現われない場合，
@var{yyyy}は年，@var{mm}は月の数字，そして@var{dd}は月の日付として，指
定されたカレンダーの日付として読み込まれます．

@c If the decimal number is of the form @var{hh}@var{mm} and no other time
@c of day item appears before it in the date string, then @var{hh} is read
@c as the hour of the day and @var{mm} as the minute of the hour, for the
@c specified time of the day.  @var{mm} can also be omitted.
@c 
十進数が形式@var{hh}@var{mm}で，他の日付の時間の項目がその日付文字列の
前に現われない場合，@var{hh}は日付の時間，そして@var{mm}は時間の分とし
て，指定された日付の時間として読み込まれます．@var{mm}は省略もできます．

@c If both a calendar date and a time of day appear to the left of a number
@c in the date string, but no relative item, then the number overrides the
@c year.
@c 
カレンダーの日付と日付の時間が，両方とも日付文字列の数字の左に現われ，
そして相対的な項目が無い場合，数字は年に優先します．


@node Authors of getdate
@c @section Authors of @code{getdate}
@section @code{getdate}の著者

@cindex authors of @code{getdate}

@cindex Bellovin, Steven M.
@cindex Salz, Rich
@cindex Berets, Jim
@cindex MacKenzie, David
@cindex Meyering, Jim
@cindex Eggert, Paul
@c @code{getdate} was originally implemented by Steven M. Bellovin
@c (@email{smb@@research.att.com}) while at the University of North Carolina
@c at Chapel Hill.  The code was later tweaked by a couple of people on
@c Usenet, then completely overhauled by Rich $alz (@email{rsalz@@bbn.com})
@c and Jim Berets (@email{jberets@@bbn.com}) in August, 1990.  Various
@c revisions for the @sc{gnu} system were made by David MacKenzie, Jim Meyering,
@c Paul Eggert and others.
@c 
@code{getdate}は元々，Chapel HillのNorth Carolina大学にいるときに，
Steven M. Bellovin (@email{smb@@research.att.com})によって実装されまし
た．コードはその後Usenetの2人に捻りを加えられ，Rich $alz
(@email{rsalz@@bbn.com})とJim Berets (@email{jberets@@bbn.com})が，
1990 年8月に完全に点検しました．@sc{gnu}システムに対する様々な修正は，
David MacKenzie，Jim Meyering他によってなされました．

@cindex Pinard, F.
@cindex Berry, K.
@c This chapter was originally produced by Fran@,{c}ois Pinard
@c (@email{pinard@@iro.umontreal.ca}) from the @file{getdate.y} source code,
@c and then edited by K.@: Berry (@email{kb@@cs.umb.edu}).
@c 
この章は元々，Fran@,{c}ois Pinard (@email{pinard@@iro.umontreal.ca})が
@file{getdate.y}ソースコードから生成し，K.@: Berry
(@email{kb@@cs.umb.edu})が編集しました．
