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 Réponses :
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. P>
Quelle plate-forme êtes-vous sur? Quel fuseau horaire êtes-vous (l'exemple implique que vous êtes dans GMT)? P>
Je suis sur WinXP et Ruby 1.8.6-P111 donne le même résultat dans les trois cas. P>
Edit: J'ai fait des creusages dans le code source Ruby ( Il s'avère que date code> et
DateTime code> sont définis dans
lib / date.rb code>). p>
date.today code> appelle en interne
temps.now .__ Envoyer __ (: to_date) ... code>, alors peut-être que vous devriez essayer d'appeler
TIME. Maintenant, >
date.today code> appelle également
.New_start (...) code> sur la date de la date code> créée code>, donc peut-être que cela gâche la date de votre cas. p>
J'utilise sur Linux x86_64 .. Je suis en GMT.
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. P >
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: p>
http://www.ruby-forum.com/topic/210647 p>
jarmo p>
Oui, je pense que le problème que j'avais eu était due à la compilation de GCC 4.4.
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"