Bug #10588
closedInvalid Dates
Description
I was in the process of implementing a date-routine, which could prevent possible out-of-range/invalid date values.
The interpreter, rightfully, threw an out-of range error, when I tried any of the following:
puts Time.mktime 2014, 13, 32
puts Time.mktime 2014, 13, 32
No surprises there. However, when I tried:
puts Time.mktime 2014, 11, 31
The interpreter, happily produced: 2014-12-01.
A little intrigued, I went ahead and tried the following routine:
1.upto(12){|month| puts Time.mktime 2014, month, 31}
Result:
2014-01-31 ok
2014-03-03 ???
2014-03-31 ok
2014-05-01 ???
2014-05-31 ok
2014-07-01 ???
2014-07-31 ok
2014-08-31 ok
2014-10-01 ???
2014-10-31 ok
2014-12-01 ???
2014-12-31 ok
I hope, I've been able to describe this issue adequately.
Thanks Matz & all the contributors for bringing this wonderful tool to us.
Regards.
Files