最后带有附加字符的字符串传递日期strptime

时间:2017-02-13 10:07:14

标签: ruby

我需要检查字符串是否是正确的日期。

date = Date.strptime(date_string, '%Y/%m/%d') rescue nil

不幸的是,Date.strptime在开头找到了日期而忽略了其他字符,所以

date_string = '2017/02/13dsasdsadasdasd'

将通过检查。有没有办法让检查更严格?

1 个答案:

答案 0 :(得分:1)

不是一般解决方案,但这是适用于这种特定情况的解决方案:

date = Date.new(*date_string.split("/").map{|s| Integer(s)}) rescue nil