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