JDK1.8 中 LocalDateTime 时间格式化两种方案
在jdk1.8中定义日期的时候推荐使用 LocalDateTime 来定义日期格式 就像下面这样,
private LocalDateTime createTime;
生成的日期格式却不是我们经常用的yyyy-MM-dd HH:mm:ss 而是这样的2021-12-02T17:29:29.009 这就需要把时间给弄成我们方便看的样子
测试代码
@Testpublic void timeFom(){System.out.println(LocalDateTime.now());}
输出

下面推荐两种格式化方案
第一种:使用注解来格式化日期,就像下面这样
import com.fasterxml.jackson.annotation.JsonFormat;@JsonFormat(pattern = "yyyy-MM-dd")private LocalDateTime createTime;
这样做的一个弊端就是,需要在每个时间字段上都加上这个注解,太过繁琐,当然要是实体不多的话,用这个也是不错的方法
第二种:就是使用配置文件的方式,去配置时间格式,就像下面这样,这样在我们使用LocalDateTime这个时间类型的时候就会自动的去帮我们把时间给格式化成yyyy-MM-dd HH:mm:ss的样子。
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;@Configuration
public class LocalDateTimeSerializerConfig {@Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")private String pattern;public LocalDateTimeSerializer localDateTimeDeserializer() {return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));}@Beanpublic Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
