2014-07-16 13 views
5

Mi aspetto che questo codice mi dia un errore ArgumentError: invalid date. In Ruby 2.0.0 IRB:Ruby Date.strptime non impone l'anno a 4 cifre

irb(main):003:0> Date.strptime('05-10-2014', '%Y-%m-%d') 
=> #<Date: 0005-10-20 ((1723177j,0s,0n),+0s,2299161j)> 

sto facendo qualcosa di sbagliato o sarà Rubino accettare un anno a 2 cifre anche quando ho specificare %Y?

Sto cercando di testare l'input dell'utente. In questo caso il mio programma lo prevede nello %Y-%m-%d e la data di inserimento è stata "immessa" nel formato errato, ma strptime dice che è ok.

+0

Il [documento] (http://ruby-doc.org/stdlib-2.1.1/libdoc/date/rdoc/Date.html#method-i-strftime) dice quattro cifre almeno . Ciò che riporta è contrario. – sawa

+0

È fuorviante usare una stringa come ''05 -10-2014''. Usa ''05 -10-20''. – sawa

+0

In che modo è fuorviante utilizzare un anno a 4 cifre? –

risposta

Problemi correlati