首页 > 解决方案 > 如何停止springboot将字符串“2020-02-05 14:20:00”转换为时间戳格式?

问题描述

我使用spring boot作为基本框架,我定义了一个Long格式的字段,命名为startTime,但是当输入值为“2020-04-21 12:00:00”这样的字符串时,框架转换为“2020-04-21 12” :00:00" 自动转换为像 253652458665256 这样的时间戳。在这里我不需要转换它。我需要原始值。因为我会检查 startTime 值是否满足我的规则。

我试图在 application.properties.like spring.jackson.deserialization.adjust-dates-to-context-time-zone=false 中设置一些东西。但它不起作用。

描述的问题在下图中在此处输入图像描述

补充说明: 1. 使用 Long 类型存储日期时间的原因是 UTC 时间戳忽略时区。因为在我的项目中是指时区,所以为了方便处理日期,UTC时间戳是首选。

标签: javaspring-bootdatejacksonlong-integer

解决方案


日期格式有一些属性

spring.jackson.date-format=
spring.jackson.time-zone=
spring.jackson.write-dates-as-timestamps =false

并用于Date存储值

private Date startTime;
private Date endTime;

如果可能的话(> Java 7)

private LocalDateTime startTime;
private LocalDateTime endTime;

java-8-日期时间介绍


推荐阅读