优秀的编程知识分享平台

网站首页 > 技术文章 正文

如何在SpringBoot中将Date和String统一互转

nanyue 2024-08-01 22:47:57 技术文章 7 ℃

String To Date

提交的参数统一从String转变成Date

package com.inforstack.qpdw.converter;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
import org.springframework.util.StringUtils;
public class StringToDateConverter implements Converter<String, Date> {
 private static final String dateFormat = "yyyy-MM-dd HH:mm:ss";
 private static final String shortDateFormat = "yyyy-MM-dd";
 @Override
 public Date convert(String value) {
 if (StringUtils.isEmpty(value))
 return null;
 value = value.trim();
 try {
 if (value.contains("-")) {
 SimpleDateFormat formatter;
 if (value.contains(":"))
 formatter = new SimpleDateFormat(dateFormat);
 else
 formatter = new SimpleDateFormat(shortDateFormat);
 Date dtDate = formatter.parse(value);
 return dtDate;
 } else if (value.matches("^\\d+$")) {
 Long lTime = new Long(value);
 return new Date(lTime);
 }
 } catch (Exception e) {
 throw new RuntimeException(String.format("parser %s to Date fail", value));
 }
 throw new RuntimeException(String.format("parser %s to Date fail", value));
 }
} 

Date To String

提交的参数统一从Date转变成String

注解

返回的对象添加注解

@com.fasterxml.jackson.annotation.JsonFormat(timezone = "GMT+8", pattern ="yyyy-MM-dd HH:mm:ss")
private java.util.Date createTime;

配置

修改application.properties

#DATE TO STRING
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

Tags:

最近发表
标签列表