Ryan1
(Ryan)
April 20, 2009, 12:01pm
1
Hey guys,
Every time I build a calendar system or anything with an annually recurring set of dates, I find myself doing this all the time to avoid getting invalid date exceptions:
year = Date.today.year
if (year % 4 != 0) && rhs.month == 2 && rhs.day == 29
rday = 28
else
rday = rhs.day
end
date = Date.new(year, rhs.month, rday)
Would anybody be interested in a patch so we could just do:
Date.new(year, rhs.month, rhs.day, :fix_leap_year => true)
Maybe even make :fix_leap_year => true the default behavior?
Thanks,
Ryan
Jordi
(Jordi)
April 20, 2009, 12:13pm
2
Where does ‘rhs’ come from?
Ryan1
(Ryan)
April 20, 2009, 12:22pm
3
In this case it’s a model with month and day attributes.
Jordi
(Jordi)
April 20, 2009, 12:31pm
4
Oh, I get your problem. You want Date.new to change 29 to 28 if it was given february, but outside of a leap year.
I don’t think this is the right forum for this discussion. Date is actually part of the Ruby library. Try one of the lists at http://www.ruby-lang.org/en/community/mailing-lists/ .