Ruby on rails 在ruby中解析和验证任意日期格式(在rails上)

Ruby on rails 在ruby中解析和验证任意日期格式(在rails上),ruby-on-rails,ruby,date,format,Ruby On Rails,Ruby,Date,Format,我需要在现有应用程序中处理自定义日期格式。这个想法是,用户必须处理来自外部来源的多种格式,他们几乎无法控制。我们需要能够采用该格式,并根据该格式验证日期,以及专门解析该格式的字符串。另一件事是这些可以是完全任意的,比如JA==一月,FE==二月,等等 据我所知,chronic只处理解析(并且以一种比我可以使用的更神奇的方式进行解析),并在此处输入代码DateTime#strTime很接近,但实际上无法处理整个两个字符的月份场景,即使使用自定义格式化程序也是如此。“nuclear”选项是为这样的边

我需要在现有应用程序中处理自定义日期格式。这个想法是,用户必须处理来自外部来源的多种格式,他们几乎无法控制。我们需要能够采用该格式,并根据该格式验证日期,以及专门解析该格式的字符串。另一件事是这些可以是完全任意的,比如JA==一月,FE==二月,等等


据我所知,chronic只处理解析(并且以一种比我可以使用的更神奇的方式进行解析),并在此处输入代码DateTime#strTime很接近,但实际上无法处理整个两个字符的月份场景,即使使用自定义格式化程序也是如此。“nuclear”选项是为这样的边缘情况编写自定义支持,但如果存在类似的情况,我更愿意使用库。

如果格式真的非常随意,我认为不存在处理所有这些问题的方法。将您的输入“模塑”成一个可以由
Date.parse
Date.strtime
或其他现有工具处理的表单可能是最容易的,尽管这可能意味着大量的工作

我们在谈论多少种不同的格式?它们之间有冲突吗?似乎您可以这样做:
input\u string.gsub(/\bJA\b/i,'January')
。这是导入例程的一部分,还是用户将以不同的格式键入日期


这里有一个相关的问题:

如果格式真的非常随意,我认为不存在处理所有这些问题的方法。将您的输入“模塑”成一个可以由
Date.parse
Date.strtime
或其他现有工具处理的表单可能是最容易的,尽管这可能意味着大量的工作

我们在谈论多少种不同的格式?它们之间有冲突吗?似乎您可以这样做:
input\u string.gsub(/\bJA\b/i,'January')
。这是导入例程的一部分,还是用户将以不同的格式键入日期


这里有一个相关的问题:

这几乎就是我们最终的结果:)这几乎就是我们最终的结果:)