Ruby 1.9.3, похоже, изменил формат разбора даты по умолчанию ...
в рубине 1.8.7
"11/14/2012".to_time
==> Wed Nov 14 00:00:00 UTC 2012
В Ruby 1.9.3
"11/14/2012".to_time
ArgumentError: invalid date
Преобразование to_time теперь принимает% d,% m,% Y в качестве формата строки ...
В Ruby 1.9.3
"14/11/2012".to_time
2012-11-14 00:00:00 UTC
Обратите внимание на другой формат вывода. Time.now.to_s также возвращает другой формат в 1.9.3. Берегись!
Я видел другой пост, в котором говорилось, что to_time было преднамеренно устарело в Ruby 1.9.3, но, похоже, был изменен только формат синтаксического анализа.
Кроме того ...
В 1.8.7
Time.parse("11/14/2012", "%m,%d,%Y")
==> Wed Nov 14 06:00:00 UTC 2012
В 1.9.3
Time.parse("11/13/2012", "%m,%d,%Y")
==> ArgumentError: argument out of range
Time.strptime не существует в 1.8.7, только в 1.9.3, поэтому я не вижу способа сделать мой код обратно совместимым с 1.8.7 после внесения необходимых изменений в 1.9.3.