date2 - もうひとつの日付計算クラス

Date

スーパークラス

Object

インクルードしているモジュール

Comparable

クラスメソッド

exist2?(year, day-of-year[, start=ITALY])

正しい年日付であれば、相当するユリウス日を返します。 そうでないなら、偽を返します。

new1、および new2 も参照してください。
exist3?(year, month, day-of-month[, start=ITALY])
exist? (year, month, day-of-month[, start=ITALY])

正しい暦日付であれば、相当するユリウス日を返します。 そうでないなら、偽を返します。

new1、および new3 も参照してください。

existw?(year, week, day-of-week[, start=ITALY])

正しい暦週であれば、相当するユリウス日を返します。 そうでないなら、偽を返します。

new1、および neww も参照してください。

new1([jd=0[, start=ITALY]])

ユリウス日に相当する日付オブジェクトを生成します。

ユリウス日は 紀元前4713年1月1日 (ユリウス暦) 正午 (グリニッジ平均時) を 暦元とした通日 (経過日数) です。

このクラスで、ユリウス日は、 ただ日付の通し番号として使われます; 故に、 普通は端数はありません (それは正午であることを示します)。

このクラスのいくつかの重要なメソッドで、 負のユリウス日は保証されません。

new3 も参照してください。

new2([year=-4712[, day-of-year=1[, start=ITALY]]])

年日付に相当する日付オブジェクトを生成します。

年日付は、暦年 (年)、 および暦年の中の序数 (年の日) によって指定される特定の日の日付です。

月の日は負、 または正の数でなければなりません (負のときは最後からの序数)。 零であってはなりません。

new1、および new3 も参照してください。

new3([year=-4712[, month=1[, day-of-month=1[, start=ITALY]]]])
new ([year=-4712[, month=1[, day-of-month=1[, start=ITALY]]]])

暦日付に相当する日付オブジェクトを生成します。

暦日付は、暦年 (年)、暦月 (月)、 および暦月の中の序数 (月の日) によって指定される特定の日の日付です。

このクラスでは、紀元前の年を天文学の流儀で勘定します。 1年の前は零年、零年の前は-1年、のようにします。

月、および月の日は負、 または正の数でなければなりません (負のときは最後からの序数)。 零であってはなりません。

省略できる最後の引数は、 グレゴリオ暦をつかい始めた日をあらわすユリウス日でなければなりません。 ビッグバンの代わりに真 (グレゴリオ暦の指定)、 ビッグクランチの代わりに偽 (ユリウス暦の指定) を与えることもできます。

new1 も参照してください。

neww([year=1582[, week=41[, day-of-week=5[, start=ITALY]]]])

暦週に相当する日付オブジェクトを生成します。

暦週は、暦年中の序数によって指定される特定の7日の期間であり、 月曜から始まります。 その年の第1暦週は、最初の木曜日を含む週とします。 これは、1月4日を含む週と同じです。

週、および週の日 (曜日) は負、 または正の数でなければなりません (負のときは最後からの序数)。 零であってはなりません。

このメソッドに改暦前の日付を与えることはできません。

new1、および new3 も参照してください。

today([start=ITALY])

現在の日付に相当する日付オブジェクトを生成します。

メソッド

self + n

self から n 日後の日付オブジェクトを返します。 n は数値でなければなりません。

self - x

x が日付オブジェクトなら、ふたつの差を返します。 あるいは x が数値ならば、self より x 日前の日付を返します。

self << n

self より n ヶ月前の日付オブジェクトを返します。 n は数値でなければなりません。

self <=> other

ふたつを比較し、-1、零、あるいは 1 を返します。 other は日付オブジェクトか、ユリウス日をあらわす数値でなければなりません。

self === other

同じ日なら真を返します。

self >> n

self から n ヶ月後の日付オブジェクトを返します。 n は数値でなければなりません。

cwday

暦週の日 (曜日) を返します (1-7、月曜は1)。

cweek

暦週を返します (1-53)。

cwyear

暦週における年を返します。

downto(min){|date| ...}

このメソッドは、step(min, -1){|date| ...} と等価です。

england

このメソッドは、newsg(Date::ENGLAND) と等価です。

gregorian

このメソッドは、newsg(Date::GREGORIAN) と等価です。

italy

このメソッドは、newsg(Date::ITALY) と等価です。

jd

ユリウス日を返します。

julian

このメソッドは、newsg(Date::JULIAN) と等価です。

ld

リリウス日を返します。

リリウス日は、西暦1582年10月15日 (グレゴリオ暦) を暦元とした通日です。

leap?

閏年なら真を返します。

mday
day

月の日を返します (1-31)。

mjd

修正ユリウス日を返します (正午として)。

修正ユリウス日は 西暦1858年11月17日 (グレゴリオ暦) 零時 (協定世界時) を 暦元とした通日 (経過日数) です。

mon
month

月を返します (1-12)。

newsg([start=Date::ITALY])

self を複製して、その改暦日を設定しなおします。

new3 も参照してください。

sg

改暦日をあらわすユリウス日を返します。

new3 も参照してください。

step(limit, step){|date| ...}

ブロックの評価を繰り返します。ブロックは日付オブジェクトをとります。 limit は日付オブジェクトでなければなりません、 また step は非零でなければなりません。

succ
next

翌日の日付オブジェクトを返します。

tjd

切詰ユリウス日を返します (正午として)。

このクラスで、切詰ユリウス日は 西暦1968年5月24日 (グレゴリオ暦) 零時 (協定世界時) を 暦元とした通日 (経過日数) です。

TJD の使用はまったく勧められません。

tjd2

"FLOOR(tjd/10000)" と "tjd MOD 10000" の対を返します。 ふたつ目の要素は、もうひとつの TJD です。 それは、本当の TJD かもしれません。 CCSDS 301.0-B-2 を参照してください。

TJD の使用はまったく勧められません。

to_s

ISO 8601:1988 書式 (CCYY-MM-DD) の文字列を返します。

upto(max){|date| ...}

このメソッドは、step(max, 1){|date| ...} と等価です。

wday

曜日を返します (0-6、日曜日は零)。

yday

年の日を返します (1-366)。

year

年を返します。

date3 - またもやできた日付計算クラス

Date

date3 は時刻もあつかえる日付クラスです。 このクラスはまだ試作段階にあります。

holiday - 祝祭日の判定

Date

これらメソッドは date2、あるいは date3 とともに機能します。

クラスメソッド

aeq(year[, start=ITALY])

その年の秋分日を返します。

春分日、秋分日は前年の2月はじめの官報に掲載されるものが正しいのですが、 ここでは計算で求めています。 つまり将来については間違えることもあるかもしれません。 なお、平成14年 (2002) までは官報等により確認済みです。

gregorian_easter(year[, start=ITALY])
easter(year[, start=ITALY])

グレゴリオ暦における、その年の復活祭の日曜日を返します。

julian_easter(year[, start=ITALY])

ユリウス暦における、その年の復活祭の日曜日を返します。

nth_kday(n, k, year, month[, start=ITALY])

その月の第NK曜日、 N番目 (-5 から 5、ただし零はのぞく) の K曜日 (0-6) を返します。

veq(year[, start=ITALY])

その年の春分日を返します。

メソッド

aeq?

秋分日であれば真を返します。

easter?

復活祭の日曜日であれば真を返します。

nhol?

「国民の祝日に関する法律」による休日、 もしくは、いくつかの特別な休日であれば真を返します。

このメソッドは、nhol2? or nhol32? or nhol33? or nholx? と等価です。

これらのメソッドは、第七次改正 「国民の祝日に関する法律及び老人福祉法の一部を改正する法律」 (平成13年6月22日法律59号)に対応済みです。

nhol2?

第2条の「国民の祝日」であれば真を返します。

nhol32?

第3条2項 (振替休日) であれば真を返します。

nhol33?

第3条3項 (国民の休日) であれば真を返します。

nholx?

平成元年2月17日法律第4号、 平成2年6月1日法律第24号、 平成5年4月30日法律第32号のいずれかであれば真を返します。

nth_kday?(n, k)

その月の第NK曜日、N番目 (-5 から 5、ただし零はのぞく) の K曜日 (0-6) であれば真を返します。

veq?

春分日であれば真を返します。

qholiday - 舊祝祭日の判定

Date

此は未だ調査中の故に甚だ疑はしい代物で有るやもしれません。 もし間違ひが有りましても御勘辨を願ひます。 將來に此が完全で有ると宣言出來たならばどんなにか喜ばしい亊でせう。 若しあなたが此に就いての詳しい資料を御持ちであれば何うぞ御連絡を下さい。

ということでしたが、一応、日外アソシエーツの「20世紀暦」で確認できました。 しかし、できたらもっと詳しく知りたいので、もし資料等あれば、 連絡してください。よろしくお願いします。

parsedate[23] - 日付と時刻の解析

ParseDate

これはもうひとつの日付解析モジュールです。

このモジュールは与えられた日付表現を解析するメソッドを提供します。 これは、ctime(3)、伝統的な date(1)、 RFC 822 日付、RFC 850 日付、 ISO 8601 の一部、JIS X0301 拡張の一部、などを受けつけます。

strftime - 日付と時刻の書式づけ

Date

このメソッドは date2、もしくは date3 とともに機能します。

このメソッドは、与えられた雛型で日付を書式づけます。 これはつぎの変換仕様をあつかいます:

%A, %a, %B, %b, %C, %c, %D, %d, %e, %F, %G, %g, %H, %h, %I, %j, %k, %l, %M, %m, %n, %P, %p, %R, %r, %S, %s, %T, %t, %U, %u, %V, %v, %W, %w, %X, %x, %Y, %y, %Z, %z, %%, %+, %1, %2, %3

strftime(3) を参照してください。

strptime - 日付と時刻の解析

Date

このクラスメソッドは date2、もしくは date3 とともに、 あるいはそれらなしにでも機能します。

このメソッドは与えられた雛型で日付表現を解析します。

strptime(3) を参照してください。