java的Date只传yyyy-MM-dd后台接收多了8个小时问题
DateTimeFormat用于接收 前端传的时间值自动转换 可以是Date 可以是string 注意 格式要一样 如yyyy-MM-dd HH:mm:ss。经过查阅相关资料发现在spring转json的默认实现jackson中会根据时区去转换时间,而jackson的默认时区跟。date-format指定date输出格式为yyyy-MM-dd HH:mm:ss。国内应该是相差8小时,所以再时间换算
·
经过查阅相关资料发现在spring转json的默认实现jackson中会根据时区去转换时间,而jackson的默认时区跟
国内应该是相差8小时,所以再时间换算上相差了8小时
解决方案一,在Model的时间字段上加上注解
@JsonFormat(pattern="yyyy-MM-dd", timezone="GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date startDate; //开始时间
@JsonFormat用于输出的时候解析,并且设置解析时区
@DateTimeFormat用于接收 前端传的时间值自动转换 可以是Date 可以是string 注意 格式要一样 如yyyy-MM-dd HH:mm:ss
个人建议都加上 没毛病
解决方案二,application.properties配置文件增加以下配置
spring.jackson.date-format=yyyy-MM-dd
spring.jackson.time-zone=GMT+8
date-format指定date输出格式为yyyy-MM-dd HH:mm:ss
time-zone指定时区,解决8小时的时间差问题
更多推荐
所有评论(0)