用 DateTimeFormatter 写一个 字符串转 java.util.Date 的方法
时间: 2024-05-07 09:18:26 浏览: 22
可以使用 `DateTimeFormatter` 来解析一个字符串并转换成 `java.util.Date` 对象。以下是一个示例方法:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class DateConverter {
public static Date toDate(String dateString, String format) {
LocalDate localDate = LocalDate.parse(dateString, DateTimeFormatter.ofPattern(format));
return java.sql.Date.valueOf(localDate);
}
}
```
这个方法将字符串 `dateString` 解析成一个 `LocalDate` 对象,然后将其转换为 `java.util.Date` 对象。你需要提供一个日期格式 `format`,用于解析输入的字符串。例如,如果输入的字符串格式为 `yyyy-MM-dd`,则 `format` 应该设置为 `"yyyy-MM-dd"`。
相关问题
用LocalDate 写一个 java.util.Date 转字符串的方法
可以使用Java 8引入的`LocalDate`类和`DateTimeFormatter`类来实现`java.util.Date`转字符串的方法。具体实现代码如下:
```java
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class DateUtil {
/**
* 将java.util.Date转换为字符串
* @param date 需要转换的日期
* @param pattern 转换的格式,例如:yyyy-MM-dd
* @return 转换后的字符串
*/
public static String dateToStr(Date date, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
/**
* 将java.util.Date转换为字符串(使用Java 8引入的LocalDate类)
* @param date 需要转换的日期
* @param pattern 转换的格式,例如:yyyy-MM-dd
* @return 转换后的字符串
*/
public static String dateToStrJava8(Date date, String pattern) {
LocalDate localDate = date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return localDate.format(formatter);
}
}
```
使用示例:
```java
public static void main(String[] args) {
Date date = new Date();
String pattern = "yyyy-MM-dd";
String strDate = DateUtil.dateToStr(date, pattern);
System.out.println(strDate);
String strDateJava8 = DateUtil.dateToStrJava8(date, pattern);
System.out.println(strDateJava8);
}
```
用LocalDate 写一个 线程安全的 java.util.Date 转字符串的方法
可以使用 `DateTimeFormatter` 来将 `LocalDate` 转换为字符串,并且 `DateTimeFormatter` 是线程安全的。以下是一个示例代码:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class DateUtils {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
public static String formatDate(LocalDate date) {
return FORMATTER.format(date);
}
}
```
将 `LocalDate` 对象传递给 `formatDate` 方法即可将其转换为字符串。注意,`DateTimeFormatter` 也可以通过依赖注入的方式来创建,以便更好地管理其生命周期。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)