Class: When::CalendarTypes::Gregorian
- Inherits:
-
Julian
- Object
- BasicTypes::Object
- TM::Object
- TM::ReferenceSystem
- TM::Calendar
- Julian
- When::CalendarTypes::Gregorian
- Defined in:
- lib/when_exe/region/christian.rb
Overview
Gregorian Calendar
Direct Known Subclasses
Constant Summary
Constants included from When::Coordinates
When::Coordinates::Bahai, When::Coordinates::CommonResidue, When::Coordinates::DefaultDateIndices, When::Coordinates::DefaultDayIndex, When::Coordinates::DefaultTimeIndices, When::Coordinates::IndianCities, 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::Tibetan, When::Coordinates::VALUE, When::Coordinates::Yi
Constants included from Parts::Resource
Parts::Resource::LabelProperty
Instance Attribute Summary
Attributes inherited from TM::Calendar
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
-
.diff(jdn) ⇒ Integer
通日 - > ユリウス暦とグレゴリオ暦の差.
Instance Method Summary collapse
-
#_coordinates_to_number(y, m, d) ⇒ Integer
年月日 -> 通日.
-
#_length(date) ⇒ Object
暦要素数.
-
#_lunar_equation(year) ⇒ Integer
太陰方程式.
-
#_number_to_coordinates(jdn) ⇒ Array<Integer>
通日 - > 年月日.
Methods inherited from TM::Calendar
#_new_month_, _setup_, #_to_month_number_, #date_trans, #jul_trans, #rate_of_clock, #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
#[], #^, _decode, _encode, _extract_prefix, _instance, _parse, _path_with_prefix, _replace_tags, _setup_, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?
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
.diff(jdn) ⇒ Integer
通日 - > ユリウス暦とグレゴリオ暦の差
205 206 207 208 209 |
# File 'lib/when_exe/region/christian.rb', line 205 def self.diff(jdn) div, mod = (jdn - 77528).divmod(36524.25) c = div - 45 (3*(c-3)).div(4)+1 end |
Instance Method Details
#_coordinates_to_number(y, m, d) ⇒ Integer
年月日 -> 通日
219 220 221 222 |
# File 'lib/when_exe/region/christian.rb', line 219 def _coordinates_to_number(y,m,d) c = ((m < 2) ? +y-1 : +y).to_i.div(100) super - ((3*(c-3)).div(4)+1) end |
#_length(date) ⇒ Integer #_length(date) ⇒ Integer
暦要素数
248 249 250 251 252 |
# File 'lib/when_exe/region/christian.rb', line 248 def _length(date) yy, mm = date return 28 if (((yy % 400) != 0) && ((yy % 100) == 0) && (mm == 1)) return super end |
#_lunar_equation(year) ⇒ Integer
太陽暦日の補正も、本メソッドで行う
太陰方程式
260 261 262 263 |
# File 'lib/when_exe/region/christian.rb', line 260 def _lunar_equation(year) h = +year.div(100) -h + h.div(4) + (8*(h+11)).div(25) - 3 end |