写一个 LocalDateTime 实现 字符串 转 Date的静态方法,加上注释
时间: 2023-10-26 07:11:07 浏览: 42
```java
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class DateUtils {
/**
* 将字符串类型的日期转换为Date类型
*
* @param strDate 字符串类型的日期,格式为 "yyyy-MM-dd HH:mm:ss"
* @return 返回对应的Date
*/
public static Date strToDate(String strDate) {
// 定义日期时间格式化器,用于将字符串转换为LocalDateTime类型
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 将字符串转换为LocalDateTime类型
LocalDateTime localDateTime = LocalDateTime.parse(strDate, formatter);
// 将LocalDateTime转换为Date类型
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
return date;
}
}
```
该方法利用了Java 8中的新日期时间API,将字符串类型的日期转换为LocalDateTime类型,再将其转换为Date类型。其中,DateTimeFormatter用于将字符串按照指定的格式解析为LocalDateTime类型,ZoneId.systemDefault()获取本地时区,atZone()将LocalDateTime转换为ZonedDateTime类型,toInstant()将ZonedDateTime类型转换为Instant类型,最后将Instant类型转换为Date类型。