一、String类型转Data类型
前端传来的String类型如何转换成数据库的Data类型那?
1.使用SimpleDateFormat来转换(Java8之前)。
具体方式:
1、定义一个字符串类型的时间;
2、创建一个SimpleDateFormat对象并设置格式;
3、最后使用SimpleDateFormat的parse方法将String类型的时间转换成Date类型的时间
SimpleDateFormat
是 Java 早期版本中常用的日期格式化工具,通过 parse()
方法将字符串解析为 Date
对象.
public class StringToDateExample {
public static void main(String[] args) {
String dateString = "2025-05-22";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = formatter.parse(dateString);
System.out.println("转换后的 Date 对象: " + date);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
需要注意的是 SimpleDateFormat是线程不安全的,那么有没有线程安全的那?
2.使用DateTimeFormatter
来转换(Java8之后)
具体方式:
1、定义一个字符串类型的时间;
2、创建一个DateTimeFormatter对象并设置格式,使用 LocalDate.parse()方法解析字符串;
3、使用atStartOfDay(ZoneId) 将LocalDate转换为LocalDateTime,
使用Date.from()方法将LocalDateTime转换为Date。
public class StringToDateModernExample {
public static void main(String[] args) {
String dateString = "2025-05-22";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
try {
// 解析为 LocalDate
LocalDate localDate = LocalDate.parse(dateString, formatter);
// 转换为 Date
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
System.out.println("转换后的 Date 对象: " + date);
} catch (Exception e) {
e.printStackTrace();
}
}
}
主要可以分为两步:1.解析字符串为 LocalDate
2.将 LocalDate
转换为 Date
。
二、Data类型转String类型
Data类型转String类型的方法和String转Data的方法相似
使用SimpleDateFormat来转换(Java8之前),只不过用的是.format()方法转成字符串类型.
Date date = new Date();
// 定义日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 转换为 String
String dateString = sdf.format(date);
使用 DateTimeFormatter
( Java 8 及以上版本)
(1)用DateTimeFormatter.ofPattern()定义时间格式
(2)LocalDateTime的format()方法转为String
LocalDateTime now = LocalDateTime.now();
// 定义日期格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 转换为 String
String dateString = now.format(formatter);