用LocalDate 写一个 java.util.Date 转字符串的方法
时间: 2024-04-30 13:18:00 浏览: 12
可以使用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);
}
```