class Chronic::Date
def self.could_be_day?(day)
def self.could_be_day?(day) day >= 1 && day <= 31 end
def self.could_be_month?(month)
def self.could_be_month?(month) month >= 1 && month <= 12 end
def self.could_be_year?(year)
def self.could_be_year?(year) year >= 1 && year <= 9999 end
def self.make_year(year, bias)
make_year(00, 50) #=> 2000
make_year(79, 20) #=> 2079
make_year(96, 50) #=> 1996
Examples:
bias - The Integer amount of future years to bias.
year - The two digit Integer year to build from.
Build a year from a 2 digit suffix.
def self.make_year(year, bias) return year if year.to_s.size > 2 start_year = Chronic.time_class.now.year - bias century = (start_year / 100) * 100 full_year = century + year full_year += 100 if full_year < start_year full_year end
def self.month_overflow?(year, month, day)
def self.month_overflow?(year, month, day) if ::Date.leap?(year) day > Date::MONTH_DAYS_LEAP[month] else day > Date::MONTH_DAYS[month] end end