需求:前端返回“2024-03-27”的时间格式,需要存储到数据库
处理方式:
1.字符串转Date类型存数据库
实体类在创建时,时间字段需要使用java.sql.Date类型(数据库类型与JAVA类型对应关系放文末),在转换过程中需要转两次,先转为java.util.Date类型,再转为java.sql.Date类型存到数据库。
2.数据库Date类型格式“1991-11-11”,转成“1991年11月11日”这种类型的字符串输出需要使用LocalDate和DateTimeFormatter进行格式化操作
请看详细代码
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.text.SimpleDateFormat;
//字符串转Date存入数据库
public void test3(){
Student student= new Student();
//模拟前端返回的日期
String termTime = "1991-11-11";
//设置时间格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
//先转成Date类型
date = format.parse(termTime);
System.out.println(date);
student.setBirthday(new java.sql.Date(date.getTime()));
} catch (ParseException e) {
e.printStackTrace();
}
}
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
//获取Date类型转成字符串
public void test4(){
//数据库存的格式是“1991-11-11”,转成“1991年11月11日”这种类型的字符串输出
Student student = studentMapper.selecById(1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
LocalDate date = LocalDate.parse(student.getBirthday);
String birthday = date.format(formatter);
System.out.println(birthday);
}
类型转换的内容参考此博客,想查看详情请点击MySQL 日期类型及与JAVA数据类型对应关系_mysql date类型对应java-CSDN博客