Ruby 末尾带有附加字符的字符串传递日期strtime

Ruby 末尾带有附加字符的字符串传递日期strtime,ruby,Ruby,我需要检查字符串是否是正确的日期 date = Date.strptime(date_string, '%Y/%m/%d') rescue nil 不幸的是,Date.strtime在开始处查找日期并忽略其他字符,因此 date_string = '2017/02/13dsasdsadasdasd' 我会通过检查的。有没有办法使检查更严格?不是一个通用的解决方案,但这里有一个适用于这种特定情况的解决方案: date = Date.new(*date_string.split("/").map

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

date = Date.strptime(date_string, '%Y/%m/%d') rescue nil
不幸的是,
Date.strtime
在开始处查找日期并忽略其他字符,因此

date_string = '2017/02/13dsasdsadasdasd'

我会通过检查的。有没有办法使检查更严格?

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

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