DMD

月日の配当が1日の始まる瞬間の別の暦の日付で決定される暦

スーパークラス:

DMD.instance(key)
文字列に対応するインスタンスを生成します。
  key  インスタンスを指定する文字列

クラス メソッド:

DMD.new([quality={}])
DMD オブジェクトを生成して返します。
  quality  暦法の性質定義ハッシュ

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

DMD#date_to_sd(*date)
日時を表す配列を地方時通日に変換して返します。
  date 日時を表す配列  年 [,月 [,日 [,時 [,分 [,秒 [,秒の小数]]]]]]
DMD#sd_to_date(sd [, n=1 [, off=[0,1]]])
地方時通日を日時を表す表現の組に変換して返します。
  sd  地方時通日
  n   n 番目の日時を表す表現の組に変換するかを指定
  off 紀年法の補正情報([紀元[,方向])

内部暦用 パブリック インスタンス メソッド:

DMD#cal
内部暦用に使用している暦法(Calendar )オブジェクトを返します。
DMD#exist_internal?(*date)
日時表現に対応する日付が存在していれば、その地方時通日を返します。
日時表現に対応する日付が存在していなければ、nil を返します。
  date 日付表現を格納した配列
DMD#internal_date_to_sd(*date)
日時を表す配列を地方時通日に変換して返します。
  date 日時を表す配列  年 [,月 [,日 [,時 [,分 [,秒 [,秒の小数]]]]]]
DMD#sd_to_internal_date(sd [, n=1 [, off=[0,1]]])
地方時通日を日時を表す表現の組に変換して返します。
  sd   地方時通日
  n    n 番目の日時を表す表現の組に変換するかを指定
  off  紀年法の補正情報([紀元[,方向])
DMD#sd_to_internal_s(sd [, n=1 [, off=[0,1]]])
地方時通日をISO8601拡張文字列に変換して返します。
  sd   地方時通日
  n    n 番目の日時を表す表現の組に変換するかを指定
  off  紀年法の補正情報([紀元[,方向])
DMD#internal_new_year(year)
運用上の年の始めの地方時正午通日を返します。
  year 内部暦の暦法アルゴリズムが与える年の順序数
DMD#internal_new_day(sd)
運用上の日の始めの地方時通日を返します。
  sd  地方時通日
DMD#internal_round_day(sd)
地方時通日を当該内部暦法での同日の地方時正午通日に丸めて返します。
  sd  地方時通日
DMD#shift_internal_sd(sd, period)
sd から period で指定された期間だけ隔たった地方時通日を返します。
  period ISO8601期間文字列 

プロテクテッド インスタンス メソッド:

Calendar#_date_to_sdn(*date)
年・月・日を地方時正午通日に変換して返します。
サブクラスで再定義してください。
  date 日時を表す配列  年 [,月 [,日]]
Calendar#_sdn_to_date(sdn)
地方時正午通日を年・月・日に変換して返します。
サブクラスで再定義してください。  sdn 地方時正午通日

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

DMD#sd_to_isd(sd)
地方時通日を内部暦法の地方時通日に変換して返します。
  sd 地方時通日 
DMD#isd_to_sd(isd)
内部暦法の地方時通日を地方時通日に変換して返します。
  isd  内部暦法の地方時通日 
DMD#_qualify
DMD オブジェクトの性質定義を初期設定します。
@Ephemeris       = 実時間と上記暦の時間を変換するEphemeris オブジェクト
@Timezone        = 暦日計算に用いるタイムゾーン(Rational )
@Calendar        = 日付の元とする暦法Calendar オブジェクト

Dateクラスのインスタンス メソッドの追加:

Date#internal_sd
内部暦の地方時通日を返します。
Date#internal_year ([k=1])
Date#internal_month ([k=1])
Date#internal_day ([k=1])
Date#internal_hour ([k=1])
Date#internal_minute ([k=1])
Date#internal_second ([k=1])
Date#internal_usec ([k=1])
Date#internal_mon ([k=1])
Date#internal_mday ([k=1])
Date#internal_min ([k=1])
Date#internal_sec ([k=1])
それぞれ、年・月・日(*)・時・分・秒・秒の小数, 月・日(*)・分・秒を返します。
(* は月初からの通算日数(1 または 0〜月の日数))
  k  有効な k 番目の日付表現に対応する値を返すよう指示します。
    (暦法として Eras オブジェクトを使用している場合)
Date#show_all_internal_date([k=true [, n=true]])
年から秒の小数までのすべての要素を返します。
  k  有効な k 番目の日付表現に対応する値を返すよう指示します。
     true ならば、すべての有効な日付表現を配列で返します。
  n  true なら年から秒の小数まですべての要素を返します。
     数値ならば、対応する要素のみを返します。
Date#shift_internal(period=1 day)
内部暦で period で指定された期間だけ隔たった地方時通日を返します。
  period ISO8601期間文字列