Je suis l'analyse des dates d'une source externe (qui doivent être au format iso8601) et en cours d'exécution dans un scénario étrange.L'analyse de Ruby des dates de iso8601 semble cassée
require 'date'
Date.iso8601('2000-05-01') #<Date: 2000-05-01 ((2451666j,0s,0n),+0s,2299161j)>
Date.iso8601('200-05-01') #<Date: 2100-05-01 ((2488190j,0s,0n),+0s,2299161j)>
Date.iso8601('20-05-01') #<Date: 2020-05-01 ((2458971j,0s,0n),+0s,2299161j)>
j'attendre les 2 derniers appels à faire sauter des exceptions Invalid argument, parce que les dates ne sont pas au format ISO8601. Est-ce un bug de Ruby?
ruby --version
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin14]
Pourquoi sont-ils invalides? – sawa
Peut-être que Ruby savait juste où les gens allaient essayer de le casser, alors il a construit des fonctions pour l'empêcher d'être cassé? ;) – 13aal
@sawa ISO-8601 requiert des années à quatre chiffres –