java解析所有日期格式_在Java中解析任何日期格式的单类
时间: 2024-02-20 11:57:20 浏览: 118
可以使用Java 8中的DateTimeFormatter来解析任何日期格式。下面是一个解析日期的示例代码:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class DateParser {
public static LocalDate parse(String dateString) {
DateTimeFormatter[] formatters = {
DateTimeFormatter.ofPattern("yyyy-MM-dd"),
DateTimeFormatter.ofPattern("MM/dd/yyyy"),
DateTimeFormatter.ofPattern("dd-MMM-yyyy")
};
for (DateTimeFormatter formatter : formatters) {
try {
return LocalDate.parse(dateString, formatter);
} catch (Exception e) {
// ignore and try next formatter
}
}
throw new IllegalArgumentException("Invalid date format: " + dateString);
}
}
```
这个类包含一个静态方法parse,它接受一个字符串参数,该字符串可以是任何日期格式。该方法尝试使用一系列预定义的格式来解析该字符串,如果解析成功则返回一个LocalDate对象,否则抛出一个IllegalArgumentException异常。
你可以使用该方法来解析日期字符串,例如:
```java
LocalDate date = DateParser.parse("2021-05-12");
```
这将返回一个表示2021年5月12日的LocalDate对象。
阅读全文