En Ruby 1.87, je pouvais le faire :
Date.parse ("3/21/2011")
Maintenant dans la 1.9.2 j'obtiens :
ArgumentError : date non valide
Des idées ?
En Ruby 1.87, je pouvais le faire :
Date.parse ("3/21/2011")
Maintenant dans la 1.9.2 j'obtiens :
ArgumentError : date non valide
Des idées ?
Utilisez strptime
et donner un format de temps spécifique.
ruby-1.9.2-p136 :022 > Date.strptime '03/21/2011', '%m/%d/%Y'
=> #<Date: 2011-03-21 (4911283/2,0,2299161)>
Voir michaelmichael Réponse de la Commission pour la raison de cette différence entre les versions de Ruby.
Par ce rapport de bogue la capacité d'analyser mm/dd/yy
Les dates ont été intentionnellement supprimées dans la version 1.9. Le créateur de Ruby, Yukihiro Matsumoto dit :
Le format "dd/dd/dd" lui-même est très dépend de la culture et est très ambigu. Il est aa/mm/jj au Japon (et dans d'autres pays) pays), mm/jj/aa aux États-Unis, jj/mm/aa. dans les pays européens, non ? Dans certains cas Dans certains cas, vous pouvez les reconnaître par accident, mais nous ne devrions pas compter sur la chance dans dans les cas généraux. Je crois que c'est la raison pour laquelle l'analyse de ce format est désactivée dans la version 1.9.
Comme le suggère hansengel, vous pouvez utiliser Date.strptime
à la place.
J'ai toujours eu des difficultés à analyser les dates avec Date.parse
. Ma solution est la gratuité de la chronic
pierre précieuse . J'aime aussi le strptime
fonction trouvée dans une autre réponse.
J'aime le date américaine bijou pour avoir accompli cela...
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.