如何从Java中的任何字符串中提取日期时间模式?
如何从Java中的任何字符串中提取日期时间模式 模式为如何从Java中的任何字符串中提取日期时间模式?,java,jodatime,Java,Jodatime,如何从Java中的任何字符串中提取日期时间模式 模式为“yyyyymmddkm” 是否有任何Joda time helper方法用于此 字符串1:2014041507393_somefile.somemore 字符串2:\u somefile2014041507393。somemore使用以下正则表达式: ^\d{4}-\d{2}-\d{2}$ 如 你得自己把信处理掉。我认为Joda time没有任何方法可以为您做到这一点。首先使用正则表达式,然后在Java中解析字符串以供以后使用: if (
“yyyyymmddkm”
是否有任何Joda time helper方法用于此
字符串1:2014041507393_somefile.somemore
字符串2:\u somefile2014041507393。somemore
使用以下正则表达式:
^\d{4}-\d{2}-\d{2}$
如
你得自己把信处理掉。我认为Joda time没有任何方法可以为您做到这一点。首先使用正则表达式,然后在Java中解析字符串以供以后使用:
if (str.matches("\\d{4}-\\d{2}-\\d{2}")) {
Date date = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(str);
System.out.println(date); // Example: Sat May 14 00:00:00 BOT 2014
}
使用
simpleDataFormat
的parse
方法:
SimpleDateFormat format = SimpleDateFormat("YYYYMMddkm");
format.parse(string, pos);
javadoc说:当且仅当该字符串与给定的正则表达式匹配时返回:true。这不是意味着整个字符串需要匹配正则表达式吗?因为我们使用的是正则表达式而不是单个字符串,“字符串匹配给定的正则表达式”意味着字符串匹配正则表达式中的任何可能组合
SimpleDateFormat format = SimpleDateFormat("YYYYMMddkm");
format.parse(string, pos);