通过匹配字符串中的日期格式使用Java提取日期
Posted
技术标签:
【中文标题】通过匹配字符串中的日期格式使用Java提取日期【英文标题】:Extracting dates using Java by matching date format from string 【发布时间】:2015-01-23 17:18:43 【问题描述】:是否有人知道第三方包可以直接查找与 Java DateFormat 匹配的输入字符串部分?换句话说,将 DateFormat 转换为正则表达式?
例如,它可能会转换;
DateFromat df = new SimpleDateFormat("MM/dd/yyyy")
到"(0[1-9]|1[0-2])\\/(0[1-9]|1[0-9]|2[0-9]|3[01])\\/([0-9]4)"
之类的东西,这样您就可以使用无缝方法,例如(幻想代码):
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
DateMatcher dm = df.dateMatcher(inputString);
while (dfm.findDate())
#dostuff
; // or
if (dfm.matchesDate()) #dosomething
【问题讨论】:
***.com/questions/3850784/… 【参考方案1】:SimpleDateFormat#toPattern
获取您的SimpleDateFormat
实例的String
模式!因此,使用您选择的构造函数实例化 SimpleDateFormat
并使用 toPattern
提取模式 String
。
【讨论】:
【参考方案2】:是的,这个神奇的解析器代码在 joda-time 包中可用。检查那里的 DateTimeParser 的实现。
检查类 InternalParserDateTimeParser、DateTimeParserBucket 以了解 jodatime 如何从输入行中提取日期作为给定模式。
【讨论】:
以上是关于通过匹配字符串中的日期格式使用Java提取日期的主要内容,如果未能解决你的问题,请参考以下文章