SpringBoot項(xiàng)目中Date類型數(shù)據(jù)在接口返回的時(shí)間不正確的問(wèn)題解決
問(wèn)題描述
在SpringBoot項(xiàng)目中,接口難免會(huì)使用到日期類型,我的數(shù)據(jù)使用的是mysql,表中的日期字段類型為 datetime ,java實(shí)體類中對(duì)應(yīng)的類型為Date類。結(jié)果發(fā)現(xiàn)返回給前端的時(shí)間不對(duì)。
從圖片可以看出:
1、時(shí)間為 00:00:00 ,變成了前一天的 04:00:00;
2、時(shí)間為16:53:40 , 變成了當(dāng)天的 08:53:40;
原因分析:
經(jīng)過(guò)分析,貌似時(shí)間如果是12小時(shí)制的話,就與正確的時(shí)間相差8小時(shí)了,這剛好也是時(shí)區(qū)差。
所以這里有兩個(gè)坑:1、在yaml配置文件中,使用了spring.jackson.data-format 來(lái)進(jìn)行日期類型的格式化;
# 這是一開(kāi)始的寫法,不小心把 小時(shí) 寫成了hh,這是12小時(shí)制 spring: jackson: date-format: yyyy-MM-dd hh:mm:ss
2、就是時(shí)區(qū)問(wèn)題,經(jīng)過(guò)查閱自動(dòng)配置類JacksonAutoConfiguration發(fā)現(xiàn),如果沒(méi)有配置時(shí)區(qū)的話,不會(huì)給時(shí)區(qū)賦值,默認(rèn)就是null。
解決方案:
解決時(shí)間制以及時(shí)區(qū)問(wèn)題,只需要對(duì)配置文件重新配置就可以解決問(wèn)題。
#正確配置如下 spring: jackson: #24小時(shí)制 date-format: yyyy-MM-dd HH:mm:ss #設(shè)置東八時(shí)區(qū) time-zone: GMT+8
配置完成后重啟項(xiàng)目,調(diào)用接口發(fā)現(xiàn),時(shí)間已經(jīng)可以正確獲取了!
到此這篇關(guān)于SpringBoot項(xiàng)目中Date類型數(shù)據(jù)在接口返回的時(shí)間不正確的問(wèn)題解決的文章就介紹到這了,更多相關(guān)SpringBoot Date接口返回內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 在SpringBoot接口中正確地序列化時(shí)間字段的方法
- springboot配置請(qǐng)求超時(shí)時(shí)間(Http會(huì)話和接口訪問(wèn))
- SpringBoot根據(jù)各地區(qū)時(shí)間設(shè)置接口有效時(shí)間的實(shí)現(xiàn)方式
- SpringBoot優(yōu)化接口響應(yīng)時(shí)間的九個(gè)技巧
- Springboot項(xiàng)目長(zhǎng)時(shí)間不進(jìn)行接口操作,提示HikariPool-1警告的解決
- SpringBoot接口返回的數(shù)據(jù)時(shí)間與實(shí)際相差8小時(shí)問(wèn)題排查方式
相關(guān)文章
SpringBoot詳細(xì)分析自動(dòng)裝配原理并實(shí)現(xiàn)starter
相對(duì)于傳統(tǒng)意義上的Spring項(xiàng)目,SpringBoot具有開(kāi)箱即用,簡(jiǎn)化配置,內(nèi)置Tomcat等等等等一系列的特點(diǎn)。在這些特點(diǎn)中,最重要的兩條就是約定優(yōu)于配置和自動(dòng)裝配2022-07-07spring boot高并發(fā)下耗時(shí)操作的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于spring boot高并發(fā)下耗時(shí)操作的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11SpringBoot3整合WebSocket詳細(xì)指南
SpringBoot 3 整合 WebSocket 提供了一種高效的實(shí)時(shí)通信解決方案,通過(guò)本文的配置和示例,可以快速實(shí)現(xiàn),感興趣的哦朋友跟隨小編一起看看吧2024-12-12Java Mybatis框架多表操作與注解開(kāi)發(fā)詳解分析
MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過(guò)簡(jiǎn)單的 XML 或注解來(lái)配置和映射原始類型、接口和 Java POJO為數(shù)據(jù)庫(kù)中的記錄2021-10-10解決mybatis #{}無(wú)法自動(dòng)添加引號(hào)的錯(cuò)誤
這篇文章主要介紹了解決mybatis #{}無(wú)法自動(dòng)添加引號(hào)的錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01java中的JsonSerializer用法,前后端單位轉(zhuǎn)換必備
這篇文章主要介紹了java中的JsonSerializer用法,前后端單位轉(zhuǎn)換必備!具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10SpringBoot3實(shí)現(xiàn)優(yōu)雅停機(jī)的完整流程
在現(xiàn)代微服務(wù)架構(gòu)中,優(yōu)雅停機(jī)(Graceful Shutdown)是一項(xiàng)重要功能,可以確保服務(wù)在關(guān)閉時(shí)處理完所有當(dāng)前請(qǐng)求,避免突然終止連接或丟失數(shù)據(jù),Spring Boot 3 提供了對(duì)優(yōu)雅停機(jī)的內(nèi)置支持,本文給大家介紹了SpringBoot3怎樣優(yōu)雅停機(jī),需要的朋友可以參考下2024-10-10