在ruby中解析和验证任意日期格式(在轨道上)

时间:2010-05-31 20:20:11

标签: ruby-on-rails ruby date format

我需要在现有应用中处理自定义日期格式。这个想法是用户必须从他们几乎无法控制的外部来源处理多种格式。我们需要能够采用格式并对它进行验证日期,以及以该格式特别解析字符串。另一件事是这些可以完全随意,比如JA == January,FE == February等......

根据我的理解,慢性只处理解析(并以更神奇的方式进行解析,然后我可以使用),并在此处输入代码DateTime#strptime接近,但并不真正处理整个两个字符月的情况,甚至使用自定义格式化程序'核'选项是为这样的边缘情况编写自定义支持,但如果存在类似的东西,我宁愿使用库。

1 个答案:

答案 0 :(得分:1)

如果格式真的非常任意,我认为不存在处理所有这些问题的东西。将输入“塑造”成可由Date.parseDate.strptime或其他现有工具处理的形式可能是最简单的,即使这可能意味着相当多的工作。

我们谈论了多少种不同的格式?他们中的任何一个冲突吗?您似乎只能gsub这样:input_string.gsub(/\bJA\b/i, 'January')。这是导入例程的一部分,还是用户打算以不同格式键入日期?

这里有一个相关问题:Parse Italian Date with Ruby