OSDN Git Service

info/GNU_coreutils: Update to 8.22 info.
[linuxjm/jm.git] / info / GNU_coreutils / release / parse-datetime-ja.texi
index dd24500..befac1d 100644 (file)
@@ -5,7 +5,7 @@
 @c ===========================================================================
 @c GNU date syntax documentation
 
-@c Copyright (C) 1994-2006, 2009-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1994-2006, 2009-2013 Free Software Foundation, Inc.
 
 @c Permission is granted to copy, distribute and/or modify this document
 @c under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -52,7 +52,7 @@
 --- Robert Grudin, @cite{Time and the Art of Living}.
 @end quotation
 
-この章では、@sc{gnu} のプログラムが認識する日付表現文字列について説明
+この章では、GNU のプログラムが認識する日付表現文字列について説明
 する。そうした文字列は、ユーザである読者が、様々なプログラムに引数
 として渡すことのできるものだ。C のインターフェース (@code{parse_datetime}
 関数で使用する) については、ここでは説明しない。
@@ -61,7 +61,7 @@
 * General date syntax::      共通規則。
 * Calendar date items::      暦日の項目 (19 Dec 1994)。
 * Time of day items::        時刻の項目 (9:20pm)。
-* Time zone items::          タイムゾーンの項目 (@sc{est}, @sc{pdt}, @sc{gmt})。
+* Time zone items::          タイムゾーンの項目 (EST, PDT, UTC, @dots{})。
 * Combined date and time of day items::  暦日と時刻を組み合わせた項目 
                                            (1972-09-24T20:02:00,000000-0500)。
 * Day of week items::        曜日の項目 (Monday, Tuesday)。
@@ -72,7 +72,7 @@
 * Specifying time zone rules::      タイムゾーン・ルールの指定 
                                       (TZ="America/New_York", TZ="UTC0")。
 * Authors of parse_datetime::       parse_datetime の作者 (Bellovin, Eggert, 
-                                      Salz, Berets, et al)。
+                                      Salz, Berets, et al.)。
 @end menu
 
 
 
 @cindex language, in dates
 @cindex time zone item
-@command{date} コマンドの出力だからと言って、日付文字列としての条件を
-必ずしも満たしているとはかぎらない。言語の問題のせいばかりではない。
+@command{date} コマンドの出力だからと言って、必ずしも日付文字列として
+プログラムに渡せるとはかぎらない。言語の問題のせいばかりではない。
 @samp{IST} のようなタイムゾーン項目には、標準的な意味が存在しないからでも
-ある。@command{date} を使用して日付文字列を生成し、それに対して後で構文解析
-行うつもりなら、日付の書式には、言語が何であるかに依存せず、@samp{UTC}
-と @samp{Z} 以外のタイムゾーン項目を使用しないものを指定するべきである。
-それを行う方法をいくつか挙げておく。
+ある。@command{date} を使用して日付文字列を生成し、それに対して後で構文解析
+を行うつもりなら、日付の書式には、言語が何であるかに依存せず、@samp{UTC} と
+@samp{Z} 以外のタイムゾーン項目を使用しないものを指定するべきだ。それを行う
+方法をいくつか挙げておく。
 
 @example
 $ LC_ALL=C TZ=UTC0 date
@@ -179,11 +179,11 @@ $ date +'@@%s.%N'  # %s と %N も GNU の拡張。
 くる。以下に挙げる文字列は、すべて暦の上の同じ日付を指定している。
 
 @example
-1972-09-24     # @sc{iso} 8601 形式。
+1972-09-24     # ISO 8601 形式。
 72-9-24        # 69 から 99 までは、19xx 年と見なし、
                # 00 から 68 までは、20xx 年と見なす。
 72-09-24       # 先頭の 0 は無視される。
-9/24/72        # アメリカでよく使われる書き方
+9/24/72        # アメリカでよく使われる表記
 24 September 1972
 24 Sept 72     # September には、4 文字の省略形もある。
 24 Sep 72      # 3 文字の省略形は、何月に対しても使用できる。
@@ -204,15 +204,15 @@ sep 24
 
 要するに、ルールはこうだ。
 
-@cindex @sc{iso} 8601 date format
-@cindex date format, @sc{iso} 8601
-月を数字で表す場合、@sc{iso} 8601 の形式、すなわち @samp{@var{year}-@var{month}-@var{day}} が
+@cindex ISO 8601 date format
+@cindex date format, ISO 8601
+月を数字で表す場合、ISO 8601 の形式、すなわち @samp{@var{year}-@var{month}-@var{day}} が
 使用できる。ここで @var{year} は任意の正の数であり、@var{month} は 01 から 12
 までの数、@var{day} は 01 から 31 までの数である。数が 10 未満のときは、
 0 を前に付けることになる。@var{year} が 68 以下の場合は、@var{year} に2000 が加算
 される。また、@var{year} が 69 以上、100 未満ならば、1900 が加算される。
 アメリカ合衆国で一般的な @samp{@var{month}/@var{day}/@var{year}} という書式も使うことが
-できる。年を省略した @samp{@var{month}/@var{day}} も有効である。
+できる。年を省略した @samp{@var{month}/@var{day}} も可能である。
 
 @cindex month names in date strings
 @cindex abbreviations for months
@@ -221,9 +221,9 @@ sep 24
 @samp{June}, @samp{July},
 @samp{August}, @samp{September}, @samp{October}, @samp{November},
 @samp{December} である。月の
-名前は、最初の 3 文字に省略することができる。省略の印のピリオドは、付け
\81¦ã\82\82ä»\98ã\81\91ã\81ªã\81\8fã\81¦ã\82\82ã\82\88ã\81\84ã\80\82ã\81¾ã\81\9fã\80\81@samp{September} ã\81®ä»£ã\82\8fã\82\8aã\81«ã\80\81@samp{Sept} ã\81¨æ\9b¸ã\81\8fã\81\93ã\81¨ã\82\82
-認められている。
+名前は、最初の 3 文字に省略することができる。その場合、省略の印の
\83\94ã\83ªã\82ªã\83\89ã\81¯ã\80\81ä»\98ã\81\91ã\81¦ã\82\82ä»\98ã\81\91ã\81ªã\81\8fã\81¦ã\82\82ã\82\88ã\81\84ã\80\82ã\81¾ã\81\9fã\80\81@samp{September} ã\81®ä»£ã\82\8fã\82\8aã\81«ã\80\81
+@samp{Sept} と書くことも認められている。
 
 月名を使用する場合、暦の上の日付は、以下のどの形で指定してもよい。
 
@@ -253,7 +253,7 @@ sep 24
 20:02:00.000000
 20:02
 8:02pm
-20:02-0500      # @sc{est} (U.S. Eastern Standard Time)
+20:02-0500      # EST (U.S. Eastern Standard Time)
 @end example
 
 @cindex leap seconds
@@ -281,13 +281,13 @@ sep 24
 @cindex minutes, time zone correction by
 また、時刻にはタイムゾーン補正を続けてもよい。補正は @samp{@var{s}@var{hh}@var{mm}} という
 形で表現され、@var{s} は @samp{+} または @samp{-} 符号、@var{hh} は時間帯の時間差、@var{mm} は分差の
\83¨å\88\86ã\81§ã\81\82ã\82\8bã\80\82å\88\86å·®ã\81®é\83¨å\88\86 @var{mm} ã\81¯æ\8c\87å®\9aã\81\97ã\81ªã\81\8fã\81¦もよく、その場合は、1 桁ないし
\83¨å\88\86ã\81§ã\81\82ã\82\8bã\80\82å\88\86å·®ã\81®é\83¨å\88\86 @var{mm} ã\81¯æ\8c\87å®\9aã\81\97ã\81ªã\81\84ã\81§もよく、その場合は、1 桁ないし
 2 桁の補正は、時間差の指定と見なされる。なお、@var{hh} と @var{mm} の間をコロンで
 区切ってもよい。タイムゾーン補正をこの方法で指定した場合、それが、それ
 までに指定したいかなるタイムゾーンよりも、また、ローカル・タイムゾーン
\82\88ã\82\8aã\82\82å\84ªå\85\88ã\81\95ã\82\8cã\80\81æ\8c\87å®\9aã\81\97ã\81\9fæ\99\82å\88»ã\81\8cã\80\81å\8d\94å®\9aä¸\96ç\95\8cæ\99\82 (@sc{utc}) よりも補正分進んでいる
-(ã\81\82ã\82\8bã\81\84ã\81¯ã\80\81é\81\85ã\82\8cã\81¦ã\81\84ã\82\8b) ã\82¿ã\82¤ã\83 ã\82¾ã\83¼ã\83³ã\81®æ\99\82å\88»ã\81¨ã\81\97ã\81¦解釈されることになる。
-一例を挙げると、@samp{+0530} と @samp{+05:30} は両方とも、@sc{utc} より 5.5 時間進んだ
\82\88ã\82\8aã\82\82å\84ªå\85\88ã\81\95ã\82\8cã\80\81æ\8c\87å®\9aã\81\97ã\81\9fæ\99\82å\88»ã\81¯ã\80\81å\8d\94å®\9aä¸\96ç\95\8cæ\99\82 (UTC) よりも補正分進んでいる
+(ã\81\82ã\82\8bã\81\84ã\81¯ã\80\81é\81\85ã\82\8cã\81¦ã\81\84ã\82\8b) ã\82¿ã\82¤ã\83 ã\82¾ã\83¼ã\83³ã\81®æ\99\82å\88»ã\81§ã\81\82ã\82\8bã\81¨解釈されることになる。
+一例を挙げると、@samp{+0530} と @samp{+05:30} は両方とも、UTC より 5.5 時間進んだ
 タイムゾーンを表している (たとえば、インドである)。これは、タイムゾーン
 補正を 1 時間以下の部分まで指定する最善の方法である。タイムゾーン補正の
 最大値は、24 時間である。
@@ -326,24 +326,26 @@ zone) の後ろに、文字列 @samp{DST} を独立した単語として (すな
 @section 暦日と時刻を組み合わせた項目
 
 @cindex combined date and time of day item
+@cindex ISO 8601 date and time of day format
+@cindex date and time of day format, ISO 8601
 
-日付と時刻を組み合わせた項目 (@dfn{combined date and time of day item})
-では、ある年のある特定の一日の時刻を指定する。このタイプの項目が
-必要になるのは、暦日の項目 (@pxref{Calendar date items}) と 時刻の項目
-(@pxref{Time of day items}) をばらばらに指定したのでは、意味が曖昧に
-なってしまう場合である。
+ISO 8601 の拡張日時書式は、ISO 8601 形式の日付、@samp{T} という区切り文字、
+ISO 8601 形式の時刻という構成になっている。@samp{T} の代わりにスペースが
+使われていても、この書式として認識される。
 
-@example
-# ISO 8601 拡張日時書式
-1972-09-24T20:02:00,000000-0500
-@end example
-
-@cindex @sc{iso} 8601 date and time of day format
-@cindex date and time of day format, @sc{iso} 8601
+この書式では、時刻は 24 時間表記を使用するべきである。秒については、
+コンマまたはピリオドに小数部分を続けることで、小数点以下も指定できる。
+ISO 8601 で認められている分や時の小数表現には対応していない。たいていの
+ホストがナノセコンドの精度のタイムスタンプをサポートしている。サポート
+を超えた精度は、エラーや警告を出さずに単に除去される。
 
-@sc{iso} 8601 の拡張日時書式は、@sc{iso} 8601 形式の日付、@samp{T} という区切り
-文字、@sc{iso} 8601 形式の時刻という構成になっている。
+例をいくつか挙げてみよう。
 
+@example
+2012-09-24T20:02:00.052-0500
+2012-12-31T23:59:59,999999999+1100
+1970-01-01 00:00Z
+@end example
 
 @node Day of week items
 @section 曜日の項目
@@ -363,12 +365,12 @@ zone) の後ろに、文字列 @samp{DST} を独立した単語として (すな
 @findex last @var{day}
 曜日項目の前に数値を付けてもよい。週がその分だけ前に進むことに
 なる。これは、@samp{third monday} のような表現で使うのが、一番よい。その
-伝で、@samp{last @var{day}} や @samp{next @var{day}} という表現も許されている。それぞれ、
-単独の @var{day} (曜日) が表すことになる日付より 1 週間前、または 1 週間後の
-日付になる。
+伝で、@samp{last @var{day}} や @samp{next @var{day}} という表現も許されている (@var{day} には
+Sunday, Monday などの曜日を指定する)。それぞれ、単独の @var{day} が表す
+ことになる日付より 1 週間前、または 1 週間後の日付になる。
 @sp 1
-(訳注: 上記のことが成り立つのは、@var{day} が今日の曜日のときだけである。
-それ以外の場合は、@var{day} と @samp{next @var{day}} は同じになる。)
+(訳注: next について上記のことが成り立つのは、@var{day} が今日の曜日の
\81¨ã\81\8dã\81 ã\81\91ã\81§ã\81\82ã\82\8bã\80\82ã\81\9dã\82\8c以å¤\96ã\81®å ´å\90\88ã\81¯ã\80\81@var{day} ã\81¨ @samp{next @var{day}} ã\81¯å\90\8cã\81\98ã\81«ã\81ªã\82\8bã\80\82)
 
 曜日項目の後ろにコンマがあっても、無視される。
 @sp 1
@@ -479,8 +481,8 @@ Last month was June!
 @sp 1
 (訳注: たとえば、@code{date -d "3/27 10:10 2012"} と指定すると、今年の
 代わりに 2012 が使われるということらしい。@code{date -d "3/27/2001 10:10 2012"}
\81¯ç\84¡å\8a¹ã\81ªæ\97¥ä»\98ã\81«ã\81ªã\82\8bã\81\97ã\80\81@code{date -d "3/27 1010 2012"} ã\81¯ã\80\811010 å¹´ 3 æ\9c\88 27 æ\97¥
-20:12:00 になる。)
\82\84 @code{date -d "2001-03-27 10:10 2012"} ã\81¯ç\84¡å\8a¹ã\81ªæ\97¥ä»\98ã\81«ã\81ªã\82\8bã\81\97ã\80\81
+@code{date -d "3/27 1010 2012"} は、1010 年 3 月 27 日 20:12:00 になる。)
 
 
 @node Seconds since the Epoch
@@ -497,15 +499,15 @@ Last month was June!
 @cindex epoch, for POSIX
 コンピュータの内部では、時間は、ある紀元 (an epoch) --- きちんと定義
 された時間中のある一点 --- からの秒数として表現されている。GNU や POSIX
-のシステムでは、紀元は 1970-01-01 00:00:00 @sc{utc} である。従って、@samp{@@0} は
-その時刻を表し、@samp{@@1} は 1970-01-01 00:00:01 @sc{utc} を表す、以下同様と
+のシステムでは、紀元は 1970-01-01 00:00:00 UTC である。従って、@samp{@@0} は
+その時刻を表し、@samp{@@1} は 1970-01-01 00:00:01 UTC を表す、以下同様と
 いうことになる。GNU を始め、POSIX に準拠したほとんどのシステムでは、
 POSIX に対する拡張として、こうした時間表記をマイナスの秒数を使うことも
-含めて、サポートしている。従って、@samp{@@-1} は 1969-12-31 23:59:59 @sc{utc} を
+含めて、サポートしている。従って、@samp{@@-1} は 1969-12-31 23:59:59 UTC を
 表すことになる。
 
 伝統的な Unix システムでは、秒を 32 ビットの 2 の補数である整数で
-数えており、1901-12-13 20:45:52 から 2038-01-19 03:14:07 @sc{utc} まで
+数えており、1901-12-13 20:45:52 から 2038-01-19 03:14:07 UTC まで
 表すことができる。もっと新しいシステムでは、64 ビットの秒数計算を、
 ナノセコンドのサブカウント付きで使用しており、宇宙の寿命として
 知られている時間のうちのあらゆる時刻を 1 ナノセコンドの精密さで表す
@@ -513,9 +515,9 @@ POSIX に対する拡張として、こうした時間表記をマイナスの
 
 @cindex leap seconds
 ほとんどのホストのこうした計算では、閏秒の存在が無視されている。
-たとえば、ほとんどのホストで @samp{@@915148799} は 1998-12-31 23:59:59 @sc{utc} を
-表し、@samp{@@915148800} は 1999-01-01 00:00:00 @sc{utc} を表している。従って、
-間にある 1998-12-31 23:59:60 @sc{utc} という閏秒を表現する方法は存在しない。
+たとえば、ほとんどのホストで @samp{@@915148799} は 1998-12-31 23:59:59 UTC を
+表し、@samp{@@915148800} は 1999-01-01 00:00:00 UTC を表している。従って、
+間にある 1998-12-31 23:59:60 UTC という閏秒を表現する方法は存在しない。
 
 @node Specifying time zone rules
 @section タイムゾーン・ルールの指定
@@ -526,9 +528,9 @@ POSIX に対する拡張として、こうした時間表記をマイナスの
 @env{TZ} が設定されていなければ、システムのデフォルト設定である。今、
 ある一つの日付のみに別のタイムゾーンでデフォルトとして使われる一連の
 ルールを適用したいとしよう。その場合は、日付を @samp{TZ="@var{rule}"} という文字列
-で始めればよい。日付中では、対になった引用符 (@samp{"}) を必ず使わなければ
-ならない。また、@var{rule} 中に引用符やバックスラッシュがあるときは、それを
-バックスラッシュでエスケープしなければならない。
+で始めればよい。日付中では、対になった二重引用符 (@samp{"}) で @var{rule} を必ず
+囲わなければならない。また、@var{rule} 中に引用符やバックスラッシュが
\81\82ã\82\8bã\81¨ã\81\8dã\81¯ã\80\81ã\81\9dã\82\8cã\82\92ã\83\90ã\83\83ã\82¯ã\82¹ã\83©ã\83\83ã\82·ã\83¥ã\81§ã\82¨ã\82¹ã\82±ã\83¼ã\83\97ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
 
 一例を挙げると、GNU の @command{date} コマンドを使って、「パリで
 2004 年 10
@@ -549,7 +551,7 @@ Sun Oct 31 01:30:00 EDT 2004
 ゾーンのルールに従って処理されるので、出力にはニューヨークの時刻が使用
 されるのである。(2004 年には、パリは通常ニューヨークより 6 時間進んで
 いた。しかし、この例は、時差が 5 時間だったハロウィーンの日のほんの短い
-間のことを言っている。)
+間のことを言っている。)
 
 @env{TZ} の値はルールであり、ルールには通常、@samp{tz} データベースの地域名が
 付けられている (@uref{http://www.twinsun.com/tz/tz-link.htm})。地域名の最新の
@@ -585,7 +587,7 @@ The GNU C Library}.
 Steven M. Bellovin (@email{smb@@research.att.com}) であり、ノースカロライナ大学
 チャペルヒル校に在学中のことだった。その後、Usenet 上で数人によって
 機能が追加され、1990 年 8 月に Rich $alz (@email{rsalz@@bbn.com}) と Jim Berets
-(@email{jberets@@bbn.com}) によって徹底的なオーバーホールがなされた。@sc{gnu} シス
+(@email{jberets@@bbn.com}) によって徹底的なオーバーホールがなされた。GNU シス
 テムのための様々な改訂は、David MacKenzie, Jim Meyering, Paul Eggert
 などによって行われた。ほぼ同様の機能を持つ Posix の @code{getdate} 関数との
 衝突を避けるために @code{get_date} と名前を変えたのも、この改訂の一部であり、