假设我有一个特定的日期,例如January 10, 2013
.
我希望能够搜索文本或 html 文档以查看它是否包含对该日期的引用。我想说明日期采用多种格式,例如:
1/10/2013
01/10/13
2013-01-10
10-Jan-2013
January 10, 2013
Jan 10, 2013
... 都应该为January 10, 2013
.
我认识到交换日月顺序可能会有问题,但在这种情况下我愿意接受误报结果,这意味着:
01-10-2013
10-01-2013
January 10, 2013
...在我的情况下都是可以接受的。
是否存在用任何语言实现的既定算法来执行这种通用但非平凡的搜索?我的偏好是 Ruby 或 JavaScript,但我会对任何经过深思熟虑的示例感兴趣。附录#1
我看到这段代码:
def validate_date(date_str)
valid_formats = ["%m/%d/%Y", "%m/%d/%Y %I:%M %P"]
#see http://www.ruby-doc.org/core-1.9.3/Time.html#method-i-strftime for more
valid_formats.each do |format|
valid = Time.strptime(date_str, format) rescue false
return true if valid
end
return false
end
在这里。
...这将是处理日期数字表示的好方法。这使得月份名称下落不明。1、01、Jan 和 January 都代表一年中的第一个月,我想知道是否在其他地方已经很好地处理了大量的排列。