如何使用带有额外字符的DateTimeFormatter解析字符串日期。
例如:“我的生日是2001-01-01 10:14:14”
答案 0 :(得分:1)
您可以使用以下模式解析字符串:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
"'My birthday is' uuuu-MM-dd HH:mm:ss"
);
LocalDateTime ldt = LocalDateTime.parse(str, formatter);
输出
2001-01-01T10:14:14
如果更改了字符串,则应使用例如regex提取datetime部分,然后解析结果,例如:
String newStr = str.replaceFirst(".*?(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}).*?", "$1");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
"uuuu-MM-dd HH:mm:ss"
);
LocalDateTime ldt = LocalDateTime.parse(newStr, formatter);
System.out.println(ldt);