java 将所有格式的日期字符串转为日期格式
时间: 2023-11-30 16:04:49 浏览: 27
可以使用`SimpleDateFormat`类来将不同格式的日期字符串转换为日期格式。
以下是一个示例代码,演示如何将不同格式的日期字符串转换为日期格式:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateConverter {
public static void main(String[] args) {
String[] dateStrings = {
"2022-01-01",
"2022-01-01 12:34:56",
"01/01/2022",
"01-Jan-2022",
"20220101"
};
for (String dateString : dateStrings) {
try {
Date date = convertToDate(dateString);
System.out.println(dateString + " => " + date);
} catch (ParseException e) {
System.out.println("Failed to convert " + dateString);
}
}
}
public static Date convertToDate(String dateString) throws ParseException {
SimpleDateFormat[] formats = {
new SimpleDateFormat("yyyy-MM-dd"),
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"),
new SimpleDateFormat("MM/dd/yyyy"),
new SimpleDateFormat("dd-MMM-yyyy"),
new SimpleDateFormat("yyyyMMdd")
};
for (SimpleDateFormat format : formats) {
try {
return format.parse(dateString);
} catch (ParseException ignored) {
}
}
throw new ParseException("Unparseable date: " + dateString, 0);
}
}
```
在示例代码中,我们定义了一个`convertToDate`方法,该方法接受一个日期字符串作为输入,并尝试使用多个预定义的日期格式进行解析。如果成功解析,则返回对应的`Date`对象;如果无法解析,则抛出`ParseException`异常。
你可以根据需要添加或修改日期格式,以适应不同的日期字符串。