Tôi hy vọng mã này sẽ cung cấp cho tôi lỗi ArgumentError: invalid date
. Trong Ruby 2.0.0 IRB:Ruby Date.strptime không thực thi 4 chữ số năm
irb(main):003:0> Date.strptime('05-10-2014', '%Y-%m-%d')
=> #<Date: 0005-10-20 ((1723177j,0s,0n),+0s,2299161j)>
Am tôi làm điều gì đó sai hay Ruby sẽ chấp nhận một năm 2 chữ số ngay cả khi tôi chỉ định %Y
?
Tôi đang xem xét đầu vào của người dùng thử nghiệm. Trong trường hợp này, chương trình của tôi đang mong đợi nó trong số %Y-%m-%d
và ngày nhập được "nhập" theo định dạng sai, nhưng strptime
cho biết là không sao.
Các [tài liệu] (http://ruby-doc.org/stdlib-2.1.1/libdoc/date/rdoc/Date.html#method-i-strftime) cho biết bốn chữ số tối thiểu . Những gì bạn báo cáo đi ngược lại. – sawa
Việc sử dụng chuỗi như ''05 -10-2014'' là sai lầm. Sử dụng ''05 -10-20''. – sawa
Làm thế nào để gây hiểu nhầm khi sử dụng năm có 4 chữ số? –