欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java關(guān)于后端怎么去接收Date、LocalDateTime類型的參數(shù)詳解

 更新時(shí)間:2023年06月13日 11:40:04   作者:大仙andrew  
這篇文章主要介紹了java關(guān)于后端怎么去接收Date、LocalDateTime類型的參數(shù),文中有詳細(xì)的代碼流程,對我們學(xué)習(xí)或工作有一定的參考價(jià)值,需要的朋友可以參考下

1、接收date類型的參數(shù)

Date類型后端入?yún)⒌母袷侥J(rèn)為2019/01/18 11:11:11

1.1、Get方式傳參

Get方式傳參 是 沒有時(shí)區(qū)的影響的

@JsonFormat的作用: 返回給前端的時(shí)間是經(jīng)過@JsonFormat格式化的時(shí)間。

@DateTimeFormat的作用: 前端需要按照@DateTimeForma的格式進(jìn)行傳參

示例:

Date 類型直接作為參數(shù)的情況

/**
     * http://localhost:8080/test1?date=2019-01-18 11:11:11
     */
    @RequestMapping(value = "/test1",method = RequestMethod.GET)
    @ResponseBody
    public void test1(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date){
        System.out.println(date);//Fri Jan 18 11:11:11 CST 2019
    }

Date類型屬性的實(shí)體類作為參數(shù)的情況

public class DateTestVO {
    private Date finishDate;
}
@RequestMapping(value = "/test2",method = RequestMethod.GET)
@ResponseBody
public void test2(DateTestVO vo){
    System.out.println(vo);
    System.out.println(vo.getFinishDate());
    return vo;
}

實(shí)體類中沒有使用注解的時(shí)候

使用的是默認(rèn)格式的入?yún)ⅲ?
http://localhost:8080/test2?finishDate=2019/01/18 11:11:11
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 11:11:11 CST 2019}
Fri Jan 18 11:11:11 CST 2019
返回的是沒有經(jīng)過格式化的時(shí)間:
{
    "finishDate": "2019-01-18T03:11:11.000+0000"
}

實(shí)體類中使用@JsonFormat注解的時(shí)候

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

使用的是默認(rèn)格式的入?yún)ⅲ?
http://localhost:8080/test2?finishDate=2019/01/18 11:11:11
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 11:11:11 CST 2019}
Fri Jan 18 11:11:11 CST 2019
返回@JsonFormat格式的時(shí)間:
{
    "finishDate": "2019-01-18 11:11:11"
}

實(shí)體類中使用@JsonFormat和@DateTimeFormat注解的時(shí)候

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

使用@DateTimeFormat格式的入?yún)ⅲ?
http://localhost:8080/test2?finishDate=2019-01-18 11:11:11
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 11:11:11 CST 2019}
Fri Jan 18 11:11:11 CST 2019
返回@JsonFormat格式的時(shí)間:
{
    "finishDate": "2019-01-18 11:11:11"
}

1.2、POST方式傳參

有時(shí)區(qū)的影響

@JsonFormat的作用:

1、后臺(tái)接收后,沒有時(shí)區(qū)的影響

2、返回給前端是格式化的時(shí)間

3、后端的入?yún)凑誁JsonFormat的格式傳參(并沒有使用@DateTimeFormat來格式化后端的入?yún)ⅲ?/p>

示例:

public class DateTestVO {
    private Date finishDate;
}
@RequestMapping(value = "/test3",method = RequestMethod.POST)
@ResponseBody
public DateTestVO test3(@RequestBody DateTestVO vo){
    System.out.println(vo); 
    System.out.println(vo.getFinishDate());
    return vo;
}

實(shí)體類中沒有使用注解的時(shí)候

入?yún)ⅲ?
{
    "finishDate": "2019-01-18"
}
打印日志,多了8個(gè)小時(shí):
DateTestVO{finishDate=Fri Jan 18 08:00:00 CST 2019}
Fri Jan 18 08:00:00 CST 2019
返回結(jié)果,沒有多出8個(gè)小時(shí)、沒有格式化的時(shí)間:
{
    "finishDate": "2019-01-18T00:00:00.000+0000"
} 
入?yún)ⅲ?
{
    "finishDate": "2019-01-18T11:11:11"
}
打印日志,多了8個(gè)小時(shí):
DateTestVO{finishDate=Fri Jan 18 19:11:11 CST 2019}
Fri Jan 18 19:11:11 CST 2019
返回結(jié)果,沒有多出8個(gè)小時(shí)、沒有格式化的時(shí)間:
{
    "finishDate": "2019-01-18T11:11:11.000+0000"
}

實(shí)體類中使用@JsonFormat注解的時(shí)候

public class DateTestVO {
    //@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date finishDate;
}
@RequestMapping(value = "/test3",method = RequestMethod.POST)
@ResponseBody
public DateTestVO test3(@RequestBody DateTestVO vo){
    System.out.println(vo); 
    System.out.println(vo.getFinishDate());
    return vo;
}

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

入?yún)ⅲ?
{
    "finishDate": "2019-01-18"
}
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 00:00:00 CST 2019}
Fri Jan 18 00:00:00 CST 2019
返回@JsonFormat格式的時(shí)間:
{
    "finishDate": "2019-01-18"
}

注解為:
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone=“GMT+8”)

入?yún)ⅲ?
{
    "finishDate": "2019-01-18 11:11:11"
}
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 11:11:11 CST 2019}
Fri Jan 18 11:11:11 CST 2019
返回@JsonFormat格式的時(shí)間:
{
    "finishDate": "2019-01-18 11:11:11"
}

總結(jié):

為了同時(shí)照顧GET、POST方式,@JsonFormat、@DateTimeForma都使用。

2、后端接收LocalDateTime類型的參數(shù)

LocalDateTime 在GMT+8 默認(rèn)格式為 yyyy-MM-ddTHH:mm:ss,如 2021-01-01T10:15:12

2.1、GET方式傳參

public class DateTestVO {
    //出參的格式化
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    //入?yún)⒌母袷交?
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishDate;
    //入?yún)⒌母袷交?
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime overDate;
}
    @RequestMapping(value = "/test2",method = RequestMethod.GET)
    @ResponseBody
    public DateTestVO test2(DateTestVO vo){
        System.out.println(vo);
        System.out.println(vo.getFinishDate());
        System.out.println(vo.getOverDate());
        return vo;
    }

overDate使用注解:
@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

入?yún)ⅲ?
http://localhost:8080/test2?finishDate=2019-01-18 11:11:11&overDate=2019-01-18 11:11:11
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 11:11:11 CST 2019, overDate=2019-01-18T11:11:11}
Fri Jan 18 11:11:11 CST 2019
2019-01-18T11:11:11
返回結(jié)果,overDate是未格式化的時(shí)間:
{
    "finishDate": "2019-01-18 11:11:11",
    "overDate": "2019-01-18T11:11:11"
}

overDate使用注解:
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone=“GMT+8”)
@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

入?yún)ⅲ?
http://localhost:8080/test2?finishDate=2019-01-18 11:11:11&overDate=2019-01-18 11:11:11
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 11:11:11 CST 2019, overDate=2019-01-18T11:11:11}
Fri Jan 18 11:11:11 CST 2019
2019-01-18T11:11:11
返回結(jié)果,正常:
{
    "finishDate": "2019-01-18 11:11:11",
    "overDate": "2019-01-18 11:11:11"
}

2.2、POST方式傳參

public class DateTestVO {
    //出參的格式化
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    //入?yún)⒌母袷交?
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishDate;
    private LocalDateTime overDate;
}
   @RequestMapping(value = "/test3",method = RequestMethod.POST)
    @ResponseBody
    public DateTestVO test3(@RequestBody DateTestVO vo){
        System.out.println(vo);
        System.out.println(vo.getFinishDate());
        System.out.println(vo.getOverDate());
        return vo;
    }
入?yún)?,overDate里邊包含了T:
{
    "finishDate": "2019-01-18 11:11:11",
    "overDate": "2019-01-18T11:11:11"
}
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 11:11:11 CST 2019, overDate=2019-01-18T11:11:11}
Fri Jan 18 11:11:11 CST 2019
2019-01-18T11:11:11
返回結(jié)果,overDate包含T:
{
    "finishDate": "2019-01-18 11:11:11",
    "overDate": "2019-01-18T11:11:11"
}

overDate使用注解:
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone=“GMT+8”)

入?yún)ⅲ?
{
    "finishDate": "2019-01-18 11:11:11",
    "overDate": "2019-01-19 11:11:11"
}
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 11:11:11 CST 2019, overDate=2019-01-19T11:11:11}
Fri Jan 18 11:11:11 CST 2019
2019-01-19T11:11:11
返回結(jié)果,正常:
{
    "finishDate": "2019-01-18 11:11:11",
    "overDate": "2019-01-19 11:11:11"
}

overDate使用注解:
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone=“GMT+8”)
@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

入?yún)ⅲ?
{
    "finishDate": "2019-01-18 11:11:11",
    "overDate": "2019-01-18 11:11:11"
}
打印日志,正常:
DateTestVO{finishDate=Fri Jan 18 11:11:11 CST 2019, overDate=2019-01-18T11:11:11}
Fri Jan 18 11:11:11 CST 2019
2019-01-18T11:11:11
返回結(jié)果,正常:
{
    "finishDate": "2019-01-18 11:11:11",
    "overDate": "2019-01-18 11:11:11"
}

SpringBoot 中LocalDateTime日期格式化:
https://blog.csdn.net/w851685279/article/details/114685542

有問題,請多多指正!

到此這篇關(guān)于Java關(guān)于后端怎么去接收Date、LocalDateTime類型的參數(shù)詳解的文章就介紹到這了,更多相關(guān)Java接收Date、LocalDateTime類型參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整合Spring?Security過濾器鏈加載執(zhí)行流程源碼分析(最新推薦)

    SpringBoot整合Spring?Security過濾器鏈加載執(zhí)行流程源碼分析(最新推薦)

    Spring?Boot?對于?Spring?Security?提供了自動(dòng)化配置方案,可以使用更少的配置來使用?Spring?Security,這篇文章主要介紹了SpringBoot整合Spring?Security過濾器鏈加載執(zhí)行流程源碼分析,需要的朋友可以參考下
    2023-02-02
  • Java struts2 package元素配置及實(shí)例解析

    Java struts2 package元素配置及實(shí)例解析

    這篇文章主要介紹了Java struts2 package元素配置及實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java中Maven Shade插件的具體使用

    Java中Maven Shade插件的具體使用

    Maven Shade插件它可以幫助你在構(gòu)建項(xiàng)目時(shí)打包所有依賴項(xiàng),并將其打包到一個(gè)單獨(dú)的JAR文件中,本文就介紹一下Maven Shade插件的具體使用,具有一定參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • java設(shè)計(jì)模式之抽像工廠詳解

    java設(shè)計(jì)模式之抽像工廠詳解

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之抽像工廠的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 使用1招搞定maven打包空間不足的問題

    使用1招搞定maven打包空間不足的問題

    這篇文章主要介紹了使用1招搞定maven打包空間不足的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Intellij IDEA使用restclient測試的教程圖解

    Intellij IDEA使用restclient測試的教程圖解

    這篇文章主要介紹了Intellij IDEA使用restclient測試的教程圖解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Java?OpenCV學(xué)習(xí)之Mat的基本操作詳解

    Java?OpenCV學(xué)習(xí)之Mat的基本操作詳解

    OpenCV用來存儲(chǔ)圖像,很多時(shí)候都會(huì)用到這個(gè)Mat方法。數(shù)字圖像可看做一個(gè)數(shù)值矩陣,?其中的每一個(gè)元素表明一個(gè)像素點(diǎn)。Mat在?OpenCV?中表示的是?N?維稠密矩陣,與稠密矩陣相對的是稀疏矩陣。本文將重點(diǎn)介紹OpenCV中Mat的一些基本操作,需要的可以參考一下
    2022-03-03
  • mybatis的動(dòng)態(tài)sql之if test的使用說明

    mybatis的動(dòng)態(tài)sql之if test的使用說明

    這篇文章主要介紹了mybatis的動(dòng)態(tài)sql之if test的使用說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 你應(yīng)該知道的這些Mybatis-Plus使用技巧(小結(jié))

    你應(yīng)該知道的這些Mybatis-Plus使用技巧(小結(jié))

    這篇文章主要介紹了你應(yīng)該知道的這些Mybatis-Plus使用技巧(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Eclipse中常用快捷鍵匯總

    Eclipse中常用快捷鍵匯總

    這篇文章主要介紹了Eclipse中常用快捷鍵,文中介紹的非常詳細(xì),幫助大家更好的利用eclipse開發(fā),感興趣的朋友可以了解下
    2020-07-07

最新評論