Java 与 MySQL 类型对应
Java定义类型String,数据定义的日期字段是datetime,由于有些时候日期数据存入时,可以通过后端自己创建,而取出数据也不通过JSON返回,所以注解在获取实体类字段上,无法满足。
注解操作
public class ClassA{
private String itemCode;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date deadline;
}
注解@JsonFormat主要是后台到前台的时间格式的转换
- 注解@DataFormAT主要是前后到后台的时间格式的转换
pattern:是你需要转换的时间日期的格式
timezone:是时间设置为东八区,避免时间在转换中有误差
提示:@JsonFormat注解可以在属性的上方,同样可以在属性对应的get方法上,两种方式没有区别
代码格式转换
如果Java中是String接MySQL datetime的数据,有两种解决方案:
通过SQL改写返回带有格式的日期字段
Select DATE_FORMAT(`Deadline`, "%y-%m-%d %H:%i:%s") as deadline From table
通过逻辑改写Date Mon Mar 14 11:08:25 GMT+08:00 2022
String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
System.out.println(timeStamp);