在Ruby中验证日期格式

时间:2015-07-03 02:40:44

标签: ruby

我在cronjob上有一个bash脚本,它将传递一个格式为的日期:

DATE=`date +"%Y_%m_%d"`

然后我的Ruby脚本需要验证日期是否通过(以这种格式)。如果不是,它使用当前日期。目前我有一些解决方案,我认为这个解决方案可行,但事实并非如此。我仍然很难理解Ruby方法的工作原理。

begin
  Time.parse ARGV[1],"%Y_%m_%d"
rescue
  puts "Invalid Date"
ensure
  $LOG = Time.now
end

1 个答案:

答案 0 :(得分:1)

您想要[strptime] [1],它接受格式参数。

Time.strptime "2014_05_09", "%Y_%m_%d"
=> 2014-05-09 00:00:00 -0400