Date

日時を表現するクラス

スーパークラス:

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

クラス メソッド:

Date.ymd([cal=Civil.new,] y [, m [, d [, h [, min [, s [, us]]]]]])
指定された日時の Date オブジェクトを生成します。
時以下がない場合は、地方時正午に対応する Date オブジェクトを生成します。
月以下がない場合は、年初に対応する Date オブジェクトを生成します(これは
暦法によっては、1月1日以外になります)。

  cal  Calendar オブジェクトまたはそれを指定する文字列
  y    年
  m    月
  d    日
  h    時
  min  分
  s    秒
  us   μ秒
Date.jd([cal=Civil.new,] jd)
指定されたユリウス通日(-4712-01-01T12:00:00Zからの経過時間(単位 日))の
Date オブジェクトを生成します。

  cal  Calendar オブジェクトまたはそれを指定する文字列
  jd   ユリウス通日
Date.parse(str[, arg=false])
文字列を解析して日時を求め、その日時の Date オブジェクトを生成します。

  str  日時を指定する文字列
  arg  false  のときは str が ISO8601準拠であることを示します。
       String のときは str の書式を指定する format 文字列です。
Date.now([cal=Civil.new,] [time=Time.now])
Time オブジェクトの指定する日時の Date オブジェクトを生成します。

  cal  Calendar オブジェクトまたはそれを指定する文字列
  time 日時を指定する Time オブジェクト
Date.today([cal=Civil.new,] [time=Time.now])
Time オブジェクトの指定する日の地方時正午の Date オブジェクトを生成します。

  cal  Calendar オブジェクトまたはそれを指定する文字列
  time 日時を指定する Time オブジェクト
Date.zone([time=Time.now])
計算機に設定されている時差(単位 日, 東経側が正)を返します。

  time 日時を指定する Time オブジェクト
Date._load(str)
Marshal が Date オブジェクトの読み込みに用います。

  str  Marshal された文字列
Date.new(cal=Civil.new [, sd=0 [, zone=0]])
指定された日時(地方時)の Date オブジェクトを生成します。

  cal   Calendar オブジェクトまたはそれを指定する文字列
  sd    地方時での-4712-01-01T12:00:00からの経過時間(単位 日)。
  zone  時差(単位 日, 東経側が正)。

パブリック インスタンス メソッド:

Date#cal
self が使用している Calendar オブジェクトを返します。
Date#zone
self が使用している時差(単位 日, 東経側が正)を返します。
Date#sd
地方時での-4712-01-01T12:00:00からの経過時間(単位 日)を返します。
Date#sdn
sd の小数点以下を丸めた整数を返します。
1日の始まりの時刻が暦法によって異なるため、丸めは必ずしも四捨五入で
はありません。本メソッドは必ず正午に対応する sdn (Serial Day Number
のつもり)を返します。
Date#sdf
sd - sdn を返します。
Date#jd
ユリウス通日(-4712-01-01T12:00:00Zからの経過時間(単位 日))を返します。
Date#jdn
jd の小数点以下を四捨五入した整数( Julian Day Number のつもり)を返します。
Date#jdf
jd - jdn を返します。
Date#strZone
self が使用している時差(単位 日, 東経側が正)を文字列形式で返します。
Date#newCalendar(cal)
self を複製して、使用する Calendar オブジェクトを設定し直します。

  cal  Calendar オブジェクトまたはそれを指定する文字列
Date#newZone(zone)
self を複製して、使用する時差を設定し直します。

  zone 時差(単位 日, 東経側が正)
Date#newPeriod(period)
self を始点とし、期間 period の Period オブジェクトを生成します。
終点は期間に含まれません。

  period 期間を示す ISO8601 準拠文字列
Date#year ([k=1])
Date#month ([k=1])
Date#day ([k=1])
Date#hour ([k=1])
Date#minute ([k=1])
Date#second ([k=1])
Date#us ([k=1])
Date#mon ([k=1])
Date#mday ([k=1])
Date#min ([k=1])
Date#sec ([k=1])
それぞれ、年・月・日(*)・時・分・秒・μ秒, 月・日(*)・分・秒を返します。
(* は月初からの通算日数(1〜月の日数))

  k  有効な k 番目の日付表現に対応する値を返すよう指示します。
    (暦法として Eras オブジェクトを使用している場合)
Date#yday
年初からの通算日数(1〜年の日数)を返します。
運用上の年初と暦法上の年初が異なる場合は、運用上の年初を基準とします。
Date#wday
七曜を返します(日曜:0, ... 土曜:6)。
運用上の日の区切りが午前0時でない場合、運用上の日付を基準とします。
(例えば夕方から1日が始まる暦法の場合、午前0時前に対して1日進んだ七曜が
 返ります)
Date#+(n)
self から n だけ後の Date オブジェクトを返します。

  n  数値の場合、x 日後の Date オブジェクト
     剰余の場合、当日または以降の日付で最初に条件を満たす Date オブジェクト
     文字列の場合、対応する剰余またはISO8601期間文字列を検索して、その指定
     に従います。
Date#-(x)
x が Date オブジェクトなら、self と x との間の日数差を返します。
その他のオブジェクトなら x だけ前の Date オブジェクトを返します。

  x  日付の場合、self と x との間の日数差を返します。
     数値の場合、n 日前の Date オブジェクトを返します。
     剰余の場合、以前の日付で最後に条件を満たす日付を返します。
     文字列の場合、対応する剰余またはISO8601期間文字列を検索して、
     その指定に従って求めた日付を返します。
Date#<=>(other)
両者を比較して、-1, 0, 1を返します。

  other  比較対象の Date オブジェクト
Date#===(other)
両者のユリウス通日(jd)を比較して、一致していれば真を返します。

  other  比較対象の Numeric, Date オブジェクト
Date#>>(n)
n ヶ月後の Date オブジェクトを返します。

  n  整数に四捨五入されて解釈される Numeric オブジェクト
Date#<<(n)
n ヶ月前の Date オブジェクトを返します。

  n  整数に四捨五入されて解釈される Numeric オブジェクト
Date#step(limit, s){}
Date#upto(limit){}
Date#downto(limit){}
step は self から limit まで s 刻みでブロックの評価を繰り返します。
upto は step の刻みを 1日としたものです。
downto は step の刻みを -1日としたものです。

  limit  終点の Date オブジェクト
  s      刻み
Date#succ
Date#next
1日後の日付オブジェクトを返します。
Date#is?(key [, value=true])
key で指定した暦注が value である時、真 を返します。

  key    暦注
  value  暦注の値
Date#today([key=nil])
key で指定した暦注の値を返します。
key が nil の場合は、すべての暦注を保持する連想配列を返します。
(mjd, tjd, tjd2, ld, 祝際日, 復活祭, 第NK曜日,閏年などは暦注と位置づけます)

  key    暦注
Date#to_s
日時に対応するISO8601形式文字列を返します。
Date#inspect
p が使用します(動作については保留)。
Date#eql?
Hash がハッシュキーの同一性の判定に用います。
Date#hash
Hash がハッシュキーの生成に用います。
Date#_dump(limit)
Marshal が Date オブジェクトの書き出しに用います。

  limit  再帰を制限するレベル(実際は何を指定されても制限しません)

ブライベート インスタンス メソッド:

Date#once(*ids)
1回計算した値を次回からは表引きで求めるためのメカニズムを定義しています。

  ids  once を適用するメソッドの id の配列