module DateTimeLike::DateTimeLikeExtension
Public Instance Methods
jd(jday, hour = 0, minute = 0, second = 0, offset = 0)
click to toggle source
Creates a DateTimeFixedDPY object from the given Julian day number and Hour/Minute/Second.
@param jday [Interger] @param hour [Interger] @param minute [Integer] @param second [Float] @param offset [Rational]
@return [DateTimeFixedDPY]
# 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)
click to toggle source
Calculate Year/Month/Day fron Julian day number
@param jday [Integer]
@return [Array] [year, month, day]
# 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