java把字符串格式的日期转为Date格式
时间: 2024-10-19 20:02:43 浏览: 20
java字符串与日期类型转换的工具类
5星 · 资源好评率100%
在Java中,将字符串格式的日期转换为`Date`格式,你需要使用`SimpleDateFormat`或`DateTimeFormatter`类配合`parse`方法。以下是两种常用的方式:
1. 使用`SimpleDateFormat`:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
String dateString = "2023-04-07 15:30:00";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 根据你的字符串日期格式设定解析模式
try {
Date date = format.parse(dateString);
System.out.println(date); // 输出:Sat Apr 07 15:30:00 GMT+08:00 2023
} catch (ParseException e) {
e.printStackTrace(); // 如果日期字符串格式不符合设定,则抛出异常
}
```
2. 使用`java.time`包的`DateTimeFormatter`:
```java
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
String dateString = "2023-04-07T15:30:00"; // ISO 8601格式,注意时区信息
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
try {
LocalDateTime localDateTime = LocalDateTime.parse(dateString, formatter);
Date date = localDateTime.atZone(ZoneId.systemDefault()).toInstant().toLocalDate().atStartOfDay(ZoneId.systemDefault()).toInstant().toDate();
System.out.println(date); // 输出:同上
} catch (DateTimeParseException e) {
e.printStackTrace();
}
```
这里要注意的是,如果你的日期字符串包含时区信息,需要处理好时区的问题,上述示例假设本地系统时区。
阅读全文