听起来更直接的问题是:如何验证用户输入的字符串对应于1582和2500之间的数字(例如)。您可以这样做:
date_string.scan(/\D/).empty? and (1582..2500).include?(date_string.to_i)
Run Code Online (Sandbox Code Playgroud)
这样,您也可以选择一个有意义的年份-例如,800是否真的是您应用程序中的有效答案?还是3000?
这是一种方法:
Date.strptime(date_str, "%Y").gregorian?
Run Code Online (Sandbox Code Playgroud)
请注意,如果字符串采用意外格式,这将引发异常。另一个(更宽容)的选择是:
Date.new(date_str.to_i).gregorian?
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1705 次 |
| 最近记录: |