8
votes

Date incorrecte avec Ruby Date.Today et DateTime.now

J'ai installé Ruby-1.8.6-P383 avec RVM. System Ruby est 1.9.1_P378-1

Je reçois la mauvaise date de date.todayay et datetime.now lors de l'utilisation de Ruby 1.8 .. alors que le temps est correct: P>

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


3 commentaires

J'ai installé Ruby 1.8.7, qui retourne la date correcte.


Semble travailler bien pour moi Ruby 1.8.6 p287 utilise 1.8.6 une exigence pour vous?


Je n'ai pas besoin de 1.8.6, ça fonctionne avec 1.8.7 .. Donc, je n'ai pas besoin de résoudre ce problème .. C'est juste très étrange! Je n'ai installé que 1.8.6, car il s'agit de ce que RVM par défaut lorsqu'il est "RVM Installer 1.8"


3 Réponses :


1
votes

La chaîne retournée semble être très cassée: i) l'année est 2126, ii) Il y a deux traits d'union entre l'année et le mois, et ii) le jour est de 10618.

Quelle plate-forme êtes-vous sur? Quel fuseau horaire êtes-vous (l'exemple implique que vous êtes dans GMT)?

Je suis sur WinXP et Ruby 1.8.6-P111 donne le même résultat dans les trois cas.

Edit: J'ai fait des creusages dans le code source Ruby ( date et DateTime sont définis dans lib / date.rb ).

Il s'avère que date.today appelle en interne temps.now .__ Envoyer __ (: to_date) ... , alors peut-être que vous devriez essayer d'appeler TIME. Maintenant, >

date.today appelle également .New_start (...) sur la date de la date créée , donc peut-être que cela gâche la date de votre cas.


1 commentaires

J'utilise sur Linux x86_64 .. Je suis en GMT.



-1
votes

Je ne sais pas si vous exécutez des choses localement ou sur le serveur, mais je pense que Ruby pourrait prendre la date du serveur, qui peut être dans un fuseau horaire différent de celui que vous êtes, et donc, apparaissent différemment.


0 commentaires

3
votes

J'ai trébuché sur un problème similaire et j'ai reçu 3 solutions différentes, que j'ai essayées 2 et toutes les deux ont travaillé. En savoir plus à ce sujet à partir d'ici:

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

jarmo


1 commentaires

Oui, je pense que le problème que j'avais eu était due à la compilation de GCC 4.4.