Class: When::CalendarTypes::Christian
- Inherits:
-
TM::Calendar
- Object
- BasicTypes::Object
- TM::Object
- TM::ReferenceSystem
- TM::Calendar
- When::CalendarTypes::Christian
- Defined in:
- lib/when_exe/region/christian.rb
Overview
Christian Base Calendar
Direct Known Subclasses
Constant Summary collapse
- DefaultReformDate =
デフォルトの改暦日付(ユリウス通日)
2299161
Constants inherited from TM::Calendar
Constants included from When::Coordinates
When::Coordinates::Bahai, When::Coordinates::Chinese, When::Coordinates::Common, When::Coordinates::DefaultDateIndices, When::Coordinates::DefaultDayIndex, When::Coordinates::DefaultTimeIndices, When::Coordinates::Indian, When::Coordinates::Iranian, When::Coordinates::Javanese, When::Coordinates::MATCH, When::Coordinates::Mayan, When::Coordinates::PERIOD, When::Coordinates::PERIOD_NAME, When::Coordinates::PRECISION, When::Coordinates::PRECISION_NAME, When::Coordinates::Russian, When::Coordinates::Tibetan, When::Coordinates::VALUE, When::Coordinates::Yi
Constants included from Parts::Resource
Parts::Resource::ConstList, Parts::Resource::ConstTypes, Parts::Resource::IRIDecode, Parts::Resource::IRIDecodeTable, Parts::Resource::IRIEncode, Parts::Resource::IRIEncodeTable, Parts::Resource::IRIHeader, Parts::Resource::LabelProperty
Instance Attribute Summary
Attributes inherited from TM::Calendar
#diff_to_CE, #epoch_in_CE, #reference_frame, #time_basis
Attributes included from TimeStandard::TimeBasis
Attributes inherited from TM::ReferenceSystem
#domain_of_validity, #position
Attributes inherited from BasicTypes::Object
Attributes included from Parts::Resource
#_pool, #child, #keys, #locale, #namespace
Class Method Summary collapse
-
._default_start(date) ⇒ Object
::Date オブジェクトに対応する暦法名 (require ‘Date’ されていることの保証は呼び出し側).
Instance Method Summary collapse
-
#_coordinates_to_number(y, m, d) ⇒ Object
年月日 -> 通日.
-
#_easter_delay(year) ⇒ Object
復活祭の遅延日数.
-
#_length(date) ⇒ Object
暦要素数.
-
#_number_to_coordinates(jdn) ⇒ Object
通日 - > 年月日.
Methods inherited from TM::Calendar
#_new_month_, _setup_, #_to_month_number_, #date_trans, #jul_trans, #rate_of_clock, #strftime, #time_standard, #to_cal_date, #to_julian_date, #to_universal_time
Methods included from TimeStandard::TimeBasis
Methods included from When::Coordinates
Methods inherited from TM::ReferenceSystem
Methods included from Parts::Resource
#[], #^, _abbreviation_to_iri, _decode, _encode, _extract_prefix, _instance, _instantiate, _parse, _path_with_prefix, _replace_tags, _setup_, _setup_info, _simplify_path, base_uri, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?, root_dir
Methods included from Parts::Resource::Pool
#[], #[]=, #_pool, #_setup_, #pool_keys
Methods included from Parts::Resource::Synchronize
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class When::Parts::Resource
Class Method Details
._default_start(date) ⇒ Object
::Date オブジェクトに対応する暦法名 (require ‘Date’ されていることの保証は呼び出し側)
56 57 58 59 60 61 62 63 64 |
# File 'lib/when_exe/region/christian.rb', line 56 def self._default_start(date) case date.start when ::Date::JULIAN ; return 'Julian' when ::Date::GREGORIAN ; return 'Gregorian' end start = date.start start = start.to_i if start == start.to_i "Civil?reform_jdn=#{start}" end |
Instance Method Details
#_coordinates_to_number(y, m, d) ⇒ Object
年月日 -> 通日
70 71 72 73 74 75 76 |
# File 'lib/when_exe/region/christian.rb', line 70 def _coordinates_to_number(y,m,d) m = (+m + 10) % 12 y = +y + 4716 - m / 10 a = (1461*y.to_i ).div(4) b = ( 153*m.to_i + 2).div(5) return a + b + (+d) - 1401 end |
#_easter_delay(year) ⇒ Object
復活祭の遅延日数
107 108 109 |
# File 'lib/when_exe/region/christian.rb', line 107 def _easter_delay(year) 0 end |
#_length(date) ⇒ Object
暦要素数
97 98 99 100 101 102 |
# File 'lib/when_exe/region/christian.rb', line 97 def _length(date) yy, mm = date return super unless(mm) return ((yy % 4) == 0) ? 29 : 28 if (mm == 1) return (((((mm + 10) % 12) % 5) % 2) == 0) ? 31 : 30 end |
#_number_to_coordinates(jdn) ⇒ Object
通日 - > 年月日
82 83 84 85 86 87 88 89 90 91 |
# File 'lib/when_exe/region/christian.rb', line 82 def _number_to_coordinates(jdn) j = jdn.to_i + 1401 y, t = (4*j + 3).divmod(1461) t = t.div(4) m, d = (5*t + 2).divmod(153) d = d.div(5) m = (m+2) % 12 y = y - 4716 + (13-m) / 12 return [y,m,d] end |