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

Java日期格式化的實(shí)現(xiàn)(@JsonFormat和@JSONField)

 更新時(shí)間:2024年05月11日 11:15:45   作者:GUMP小甘  
本文主要介紹了Java日期格式化的實(shí)現(xiàn),主要介紹了@JsonFormat和@JSONField兩種方式,具有一定的參考價(jià)值,感興趣的可以了解一下

前后端日期格式轉(zhuǎn)換

DTO : 前端向后端接口請(qǐng)求時(shí)的對(duì)象。
VO: 后端向前端響應(yīng)的對(duì)象。

前端:vue
后端:SpringBoot + MybatisPlus

涉及的兩個(gè)包:

  • com.alibaba.fastjson.annotation.JSONField;
  • com.fasterxml.jackson.annotation.JsonFormat;

經(jīng)驗(yàn)證:

1.如果是DTO中的日期字段,如:private Date start;

應(yīng)該加: 

@JSONField(format = "yyyy-MM-dd HH:mm:ss") 

如果加的是:@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8"),會(huì)出現(xiàn)問(wèn)題:前端選擇日期1.11,存到數(shù)據(jù)庫(kù)發(fā)現(xiàn)是1.10,或者我只傳日期,時(shí)間默認(rèn)00:00:00,但存進(jìn)去是08:00:00

2.如果是VO中的日期字段,如:private Date start;

應(yīng)該加: 

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

 如果加的是:@JSONField(format = "yyyy-MM-dd HH:mm:ss")會(huì)出現(xiàn)問(wèn)題:返回給前端頁(yè)面顯示的是:時(shí)間戳: 1645527428033

注意:此處必須有 timezone="GMT+8" ,否則顯示出的時(shí)間會(huì)差幾個(gè)小時(shí),導(dǎo)致對(duì)不上

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")//前端傳來(lái)的日期格式化
@JSONField(format = "yyyy-MM-dd HH:mm:ss")//后端傳的日期格式化

@JsonFormat 和 @JSONField 都是在 Java 對(duì)象序列化為 JSON 格式時(shí),用于指定日期格式的注解,但它們通常與不同的 JSON 庫(kù)相關(guān)聯(lián)。

@JsonFormat(Jackson 庫(kù))

在 Jackson 庫(kù)中,使用 @JsonFormat 注解可以指定日期和時(shí)間的格式。示例:

import com.fasterxml.jackson.annotation.JsonFormat;

public class MyObject {

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "UTC")
    private Date date;

    // Getter and setter methods
}

在上面的示例中,@JsonFormat 注解中的 pattern 屬性指定了日期格式,而 timezone 屬性用于指定時(shí)區(qū)。

@JSONField(Fastjson 庫(kù))

在 Fastjson 庫(kù)中,使用 @JSONField 注解來(lái)實(shí)現(xiàn)相同的效果。示例:

import com.alibaba.fastjson.annotation.JSONField;

public class MyObject {

    @JSONField(format = "yyyy-MM-dd HH:mm:ss", timeZone = "UTC")
    private Date date;

    // Getter and setter methods
}

與 @JsonFormat 不同,@JSONField 使用 format 屬性指定日期格式,而 timeZone 屬性用于指定時(shí)區(qū)。

這兩個(gè)注解在具體的項(xiàng)目中選擇使用哪一個(gè),通常取決于你使用的 JSON 庫(kù)。如果使用 Jackson,就使用 @JsonFormat;如果使用 Fastjson,就使用 @JSONField。

到此這篇關(guān)于Java日期格式化的實(shí)現(xiàn)(@JsonFormat和@JSONField)的文章就介紹到這了,更多相關(guān)Java日期格式化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

六盘水市| 乌拉特前旗| 灵川县| 清徐县| 界首市| 三都| 凌源市| 舒兰市| 福鼎市| 凌源市| 临澧县| 桂阳县| 元江| 青海省| 平原县| 文山县| 前郭尔| 宁国市| 兴国县| 卫辉市| 涪陵区| 镇平县| 南康市| 丹凤县| 娱乐| 乌拉特前旗| 连州市| 平凉市| 阿克陶县| 福州市| 新泰市| 西乌珠穆沁旗| 长武县| 凤翔县| 金川县| 南岸区| 习水县| 南昌县| 吉首市| 安平县| 新巴尔虎右旗|