Возвращенная строка выглядит очень разбитой: i) год - 2126, ii) между годом и месяцем есть два дефиса, и ii) день - 10618.
На какой ты платформе? В каком часовом поясе вы находитесь (пример подразумевает, что вы находитесь в GMT)?
Я использую WinXP, а Ruby 1.8.6-p111 дает одинаковый результат во всех трех случаях.
Редактировать: я немного покопался в исходном коде Ruby (Date
и DateTime
определены в lib/date.rb
).
Оказывается, Date.today
вызывает внутренне Time.now.__send__(:to_date)...
, поэтому, возможно, вам следует попробовать Time.now.__send__(:to_date).to_s
в irb
и сравнить вывод с Time.now.to_s
, чтобы сузить проблему.
Date.today
также вызывает .new_start(...)
на созданном экземпляре Date
, так что, возможно, это испортит дату в вашем случае.