The returned string seems very broken: i) year 2126, ii) there are two hyphens between year and month, and ii) day 10618.
What platform are you working on? What time zone are you using (example means you are in GMT)?
I'm on WinXP and Ruby 1.8.6-p111 gives the same result in all three cases.
Edit: I did some digging in the Ruby source code ( Date and DateTime defined in lib/date.rb ).
It turns out that Date.today calls Time.now.__send__(:to_date)... , so maybe you should try calling Time.now.__send__(:to_date).to_s in irb and compare the result with Time.now.to_s to narrow down the problem.
Date.today also calls .new_start(...) on the created instance of Date , so maybe this will ruin the date in your case.
liwp
source share