Frage

Ich habe Rubin-1.8.6-P383 mit RVM installiert. System Rubin ist 1.9.1_p378-1

Ich bin das falsche Datum von Date.today und DateTime.now bekommen, wenn Rubin mit 1.8 .. Während Time.now korrekt ist:

irb(main):002:0> DateTime.now.to_s
=> "2126--1-10618T11:23:43+00:00"
irb(main):004:0> Date.today.to_s
=> "2126--1-10618"
irb(main):005:0> Time.now
=> Thu Jan 28 11:55:27 +0000 2010

Alles ist gut, wenn ich wechsle 1,9 bis rubin:

irb(main):003:0> DateTime.now.to_s
=> "2010-01-28T11:58:51+00:00"
irb(main):004:0> Date.today.to_s
=> "2010-01-28"
irb(main):005:0> Time.now
=> 2010-01-28 11:59:05 +0000

Alle Ratschläge, wie Datetime Arbeit in Ruby richtig zu bekommen 1,8 würden die meisten geschätzt werden!

War es hilfreich?

Lösung

Ich stolperte über ähnliches Problem und bekam 3 verschiedene Lösungen, die ich versuchte, 2 und beide arbeiteten. Lesen Sie mehr über sie hier:

http://www.ruby-forum.com/topic/210647

Jarmo

Andere Tipps

Der zurückgegebene String scheint sehr gebrochen werden: i.) Das Jahr 2126 ist, ii) es gibt zwei Bindestriche zwischen dem Jahr und dem Monat, und ii) dem Tag 10618

Welche Plattform sind Sie? Was Zeitzone sind Sie auf (das Beispiel bedeutet, dass Sie in GMT sind)?

Ich bin auf WinXP und Ruby 1.8.6-p111 das gleiche Ergebnis in allen drei Fällen.

Edit: Ich habe einige graben in der Code-Ruby-Quelle (Date und DateTime sind in lib/date.rb definiert).

Es stellt sich heraus, dass Date.today Anrufe intern Time.now.__send__(:to_date)..., vielleicht sollten Sie versuchen, Time.now.__send__(:to_date).to_s in irb aufrufen und die Ausgabe an Time.now.to_s, um das Problem zu verengen vergleichen.

Date.today auch nennt .new_start(...) auf die erstellte Date Instanz so vielleicht ist das das Datum in Ihrem Fall vermasselt.

Ich bin nicht sicher, wenn Sie Dinge lokal ausgeführt oder auf dem Server, aber ich denke, Rubin könnte das Server-Datum nehmen, die in einer anderen Zeitzone sein können, als Sie sind, und so unterschiedlich erscheinen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top