我需要检查字符串是否是正确的日期。
date = Date.strptime(date_string, '%Y/%m/%d') rescue nil
不幸的是,Date.strptime
在开头找到了日期而忽略了其他字符,所以
date_string = '2017/02/13dsasdsadasdasd'
将通过检查。有没有办法让检查更严格?
答案 0 :(得分:1)
不是一般解决方案,但这是适用于这种特定情况的解决方案:
date = Date.new(*date_string.split("/").map{|s| Integer(s)}) rescue nil