java字符串转日期兼容所有日期格式
时间: 2023-05-04 09:02:17 浏览: 114
为了将Java字符串转换为日期类型,我们可以使用Java的内置日期类java.util.Date。但是,这种方法只能处理特定的日期格式,如“yyyy-MM-dd”或“dd-MM-yyyy”。
为了兼容各种日期格式,我们需要使用Java的SimpleDateFormat类。它允许我们指定要转换的日期格式,并将输入字符串解析为日期对象。我们可以为不同的日期格式定义多个SimpleDateFormat对象,然后在代码中轮流使用它们。
例如,假设我们需要解析如下形式的日期:
1. 2021-06-01
2. 01/06/2021
3. June 1, 2021
我们可以定义以下三个SimpleDateFormat对象:
```
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat format2 = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat format3 = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
```
然后,我们可以按顺序尝试解析每个日期字符串,使用成功的格式:
```
String dateString = "2021-06-01";
Date date = null;
try {
date = format1.parse(dateString);
} catch (ParseException e) {
try {
date = format2.parse(dateString);
} catch (ParseException e1) {
try {
date = format3.parse(dateString);
} catch (ParseException e2) {
e2.printStackTrace();
}
}
}
System.out.println(date);
```
通过这种方法,我们可以解析各种日期格式的字符串,并将它们转换为Java日期类型。
阅读全文