Module: DateTimeLike::DateTimeLikeExtension
- Defined in:
- lib/timesteps/datetimelike.rb
Instance Method Summary collapse
-
#jd(jday, hour = 0, minute = 0, second = 0, offset = 0) ⇒ DateTimeFixedDPY
Creates a DateTimeFixedDPY object from the given Julian day number and Hour/Minute/Second.
-
#jday2date(jday) ⇒ Array
Calculate Year/Month/Day fron Julian day number.
Instance Method Details
#jd(jday, hour = 0, minute = 0, second = 0, offset = 0) ⇒ DateTimeFixedDPY
Creates a DateTimeFixedDPY object from the given Julian day number and Hour/Minute/Second.
45 46 47 48 |
# File 'lib/timesteps/datetimelike.rb', line 45 def jd (jday, hour = 0, minute = 0, second = 0, offset = 0) year, month, day = jday2date(jday) return self.new(year, month, day, hour, minute, second, offset) end |
#jday2date(jday) ⇒ Array
Calculate Year/Month/Day fron Julian day number
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/timesteps/datetimelike.rb', line 14 def jday2date (jday) dpy = self::DPY dpm = self::DPM jday = jday.round year = jday/dpy doy = jday - year*dpy + 1 year = year - 4712 month = 0 day = 0 days = 0 (1..12).each do |m| if days + dpm[m] >= doy month = m day = doy - days break end days += dpm[m] end return year, month, day end |