Class AlmanacDateTime
In: AlmanacForRuby/AlmanacDateTime.rb
Parent: DateTime

暦日算出用ロジックを付加したDateTimeクラスライブラリ

Authors:Yoshihiko Hara(GoroNeko)
Date:2010/08/14
Version:0.9.0
Copyright:Copyright (C) Yoshihiko Hara(GoroNeko), 2010. All rights reserved.
License:GNU GENERAL PUBLIC LICENSE Version 2

Methods

Constants

NAME = "AlmanacDateTime"   本クラスライブラリの、名前とバージョン
VERSION = "0.9.0"
DAY_TO_HOUR = 24.0   1日と等しい時間
HOUR_TO_MINUTE = 60.0   1時間と等しい分
MINUTE_TO_SECOND = 60.0   1分と等しい秒
AVERAGE_MONTH_DAYS = 30.6001   1ヶ月あたりの平均日数
AVERAGE_YEAR_DAYS = 365.25   1年あたりの平均日数
NEW_STYLE_START_JD = 2299161.0   世界最初の(導入国:イタリア)グレゴリオ暦導入年月日のJD
ABBR_DAYNAMES_J = Array.new(["日", "月", "火", "水", "木", "金", "土"])   曜日の漢字和名

Public Instance methods

ユリウス日(Julian day)を、紀元n年に変換する

【引数】

  1.紀元に変換したい、ユリウス日(ajd:Rational)
  2.時差(of:Rational)

【戻り値】

  1.変換後の情報を格納したAlmanacDateTimeオブジェクト
    (answer_almanac_date_time:AlmanacDateTime)

【備考】

  以下のプログラムは、"Astronomical Algorithms"(Jean Meeus氏著)の
  式を参考に作成した。

紀元前m年を、仮想的な紀元n年に変換する。

【引数】

  1.紀元に変換したい、紀元前の年(bc:Integer)

【戻り値】

  1.与えられた紀元前の年を変換した、仮想的な紀元(answer_ad:Integer)

【備考】

  紀元(Anno Domini A.D.)は1年から
  紀元(Anno Domini A.D.)0年 = 紀元前(Before Christ B.C.)1年

∴ 紀元n年 = -( 紀元前m年 - 1 )

DateTimeオブジェクトを、日本における時刻(offset値:日本)に変換する

【引数】

  1.日本における時刻に変換したいAlmanacDateTimeオブジェクト
    (target_date_time:AlmanacDateTime)

【戻り値】

  1.変換後の情報を格納したAlmanacDateTimeオブジェクト
    (answer_almanac_date_time:AlmanacDateTime)

【備考】

  干支、九星等は、「日本における時刻」で計算する必要が多々発生するため
  共通ロジックとして用意した

[Validate]