最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java前后端時(shí)間格式的轉(zhuǎn)化方式

 更新時(shí)間:2021年08月10日 16:55:41   作者:給變量取個(gè)好名吖  
這篇文章主要介紹了Java前后端時(shí)間格式的轉(zhuǎn)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

JsonFormat、DateTimeFormat使用

從數(shù)據(jù)庫(kù)獲取時(shí)間傳到前端進(jìn)行展示的時(shí)候,我們有時(shí)候可能無(wú)法得到一個(gè)滿意的時(shí)間格式的時(shí)間日期,在數(shù)據(jù)庫(kù)中顯示的是正確的時(shí)間格式,獲取出來(lái)卻變成了很丑的時(shí)間戳,@JsonFormat注解很好的解決了這個(gè)問(wèn)題,我們通過(guò)使用@JsonFormat可以很好的解決:后臺(tái)到前臺(tái)時(shí)間格式保持一致的問(wèn)題。

其次,另一個(gè)問(wèn)題是,我們?cè)谑褂肳EB服務(wù)的時(shí),可能會(huì)需要用到,傳入時(shí)間給后臺(tái),比如注冊(cè)新用戶需要填入出生日期等,這個(gè)時(shí)候前臺(tái)傳遞給后臺(tái)的時(shí)間格式同樣是不一致的,而我們的與之對(duì)應(yīng)的便有了另一個(gè)注解,@DataTimeFormat便很好的解決了這個(gè)問(wèn)題,接下來(lái)記錄一下具體的@JsonFormat與DateTimeFormat的使用過(guò)程。

@JsonFormat

導(dǎo)入依賴(lài)

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.8.8</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.8.8</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.13</version>
    </dependency>

在你需要查詢(xún)出來(lái)的時(shí)間的數(shù)據(jù)庫(kù)字段對(duì)應(yīng)的實(shí)體類(lèi)的屬性上添加 @JsonFormat

@Data
@Api("升級(jí)日志返回值")
public class UpgradeLogRes {
    @ApiModelProperty("升級(jí)日志id")
    private Long id;
    @ApiModelProperty("版本名稱(chēng)")
    private String name;
    @ApiModelProperty("發(fā)布日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date postDate;
    @ApiModelProperty("內(nèi)容日志")
    private String contentLog;
    @ApiModelProperty("發(fā)布狀態(tài)")
    private Integer postStatus;
    @ApiModelProperty("內(nèi)容日志Url")
    private String contentLogUrl;
}

注:@JsonFormat(pattern=“yyyy-MM-dd”,timezone = “GMT+8”)

pattern:是你需要轉(zhuǎn)換的時(shí)間日期的格式

timezone:是時(shí)間設(shè)置為東八區(qū),避免時(shí)間在轉(zhuǎn)換中有誤差

提示:@JsonFormat注解可以在屬性的上方,同樣可以在屬性對(duì)應(yīng)的get方法上,兩種方式?jīng)]有區(qū)別

@DateTimeFormat

導(dǎo)入依賴(lài):@DateTimeFormat的使用和@jsonFormat差不多,首先需要引入是spring還有jodatime,spring我就不貼了

    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.3</version>
    </dependency>

在controller層我們使用spring mvc 表單自動(dòng)封裝映射對(duì)象時(shí),我們?cè)趯?duì)應(yīng)的接收前臺(tái)數(shù)據(jù)的對(duì)象的屬性上加@DateTimeFormat

@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date symstarttime;
 
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date symendtime;

我這里就只貼這兩個(gè)屬性了,這里我兩個(gè)注解都同時(shí)使用了,因?yàn)槲壹刃枰?shù)據(jù)到前臺(tái),也需要前臺(tái)數(shù)據(jù)傳到后臺(tái),都需要進(jìn)行時(shí)間格式的轉(zhuǎn)換,可以同時(shí)使用

總結(jié)一下:

  • 注解@JsonFormat主要是后臺(tái)到前臺(tái)的時(shí)間格式的轉(zhuǎn)換
  • 注解@DataFormAT主要是前后到后臺(tái)的時(shí)間格式的轉(zhuǎn)換

java前后端Date接收

1.前端傳Date對(duì)象

將其轉(zhuǎn)為“yyyy-MM-dd HH:mm:ss”的字符串,后臺(tái)用@DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss”)格式化Date屬性

2.后臺(tái)返回給前端Date

傳的是時(shí)間戳,用@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”)對(duì)其格式化,

timezone是用于調(diào)整時(shí)區(qū)的屬性(東八區(qū)),不加的話得到的時(shí)間會(huì)比實(shí)際的少8個(gè)小時(shí)

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;

3.時(shí)間比較:

mybaties :

startTime, endTime是經(jīng)過(guò)@DateTimeFormat格式后的Date對(duì)象

 <if test="startTime != null">
       and alarm.createTime &gt;= #{startTime}
</if>
<if test="endTime != null">
       and alarm.createTime &lt;= #{endTime}
</if>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

万荣县| 唐山市| 西丰县| 利川市| 平果县| 察哈| 清水河县| 凌源市| 富宁县| 吴忠市| 四子王旗| 高密市| 西乌珠穆沁旗| 丹阳市| 北辰区| 兰溪市| 新干县| 曲沃县| 北宁市| 万山特区| 内江市| 景洪市| 海阳市| 综艺| 孟连| 库伦旗| 洛浦县| 利津县| 屏东县| 青田县| 镇沅| 瑞昌市| 舟曲县| 景德镇市| 宜兰市| 盐亭县| 青田县| 桂东县| 明水县| 南城县| 连州市|