Ich würde erwarten, dass dieser Code mir einen ArgumentError: invalid date
Fehler gibt. In Ruby 2.0.0 irb:Ruby Date.strptime erzwingt keine 4-stellige Jahr
irb(main):003:0> Date.strptime('05-10-2014', '%Y-%m-%d')
=> #<Date: 0005-10-20 ((1723177j,0s,0n),+0s,2299161j)>
Mache ich etwas falsch oder wird Ruby ein 2-stellige Jahr sogar akzeptieren, wenn ich %Y
angeben?
Ich schaue auf Benutzereingaben testen. In diesem Fall erwartet mein Programm es in der %Y-%m-%d
und das Eingabedatum wurde im falschen Format "eingegeben", aber strptime
sagt, es ist in Ordnung.
[Dokument] (http://ruby-doc.org/stdlib-2.1.1/libdoc/date/rdoc/Date.html#method-i-strftime) sagt vierstellig mindestens . Was Sie berichten, geht dagegen. – sawa
Es ist irreführend, eine Zeichenfolge wie "05 -10-2014" zu verwenden. Verwende ''05 -10-20''. – sawa
Wie ist es irreführend, ein 4-stelliges Jahr zu verwenden? –