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

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

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

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

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

1.1、Get方式傳參

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

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

@DateTimeFormat的作用: 前端需要按照@DateTimeForma的格式進行傳參

示例:

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ù)的情況

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;
}

實體類中沒有使用注解的時候

使用的是默認格式的入?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)過格式化的時間:
{
    "finishDate": "2019-01-18T03:11:11.000+0000"
}

實體類中使用@JsonFormat注解的時候

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

使用的是默認格式的入?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格式的時間:
{
    "finishDate": "2019-01-18 11:11:11"
}

實體類中使用@JsonFormat和@DateTimeFormat注解的時候

@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格式的時間:
{
    "finishDate": "2019-01-18 11:11:11"
}

1.2、POST方式傳參

有時區(qū)的影響

@JsonFormat的作用:

1、后臺接收后,沒有時區(qū)的影響

2、返回給前端是格式化的時間

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;
}

實體類中沒有使用注解的時候

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

實體類中使用@JsonFormat注解的時候

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格式的時間:
{
    "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格式的時間:
{
    "finishDate": "2019-01-18 11:11:11"
}

總結(jié):

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

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

LocalDateTime 在GMT+8 默認格式為 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是未格式化的時間:
{
    "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

有問題,請多多指正!

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

相關文章

  • Java純代碼實現(xiàn)導出pdf合并單元格

    Java純代碼實現(xiàn)導出pdf合并單元格

    這篇文章主要為大家詳細介紹了Java如何純代碼實現(xiàn)導出pdf與合并單元格功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • Java中Swing類實例講解

    Java中Swing類實例講解

    這篇文章主要介紹了Java中Swing類實例講解,文中用代碼實例講解的很清楚,有需要的同學可以研究下
    2021-02-02
  • Swagger2匹配多個controller代碼實例

    Swagger2匹配多個controller代碼實例

    這篇文章主要介紹了Swagger2匹配多個controller代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java通過切面實現(xiàn)統(tǒng)一處理Token設置用戶信息

    Java通過切面實現(xiàn)統(tǒng)一處理Token設置用戶信息

    這篇文章主要介紹了Java切面統(tǒng)一處理Token設置用戶信息,常見的后端開發(fā)中,接口請求中一般前端都是先通過用戶登錄獲取token,每次接口請求都需要在頭信息中攜帶token信息,后端每次都需要手動處理token信息,從token信息中解析獲取用戶信息,需要的朋友可以參考下
    2023-10-10
  • java中UUID生成工具類(UUIDUtils)方法詳解

    java中UUID生成工具類(UUIDUtils)方法詳解

    這篇文章主要介紹了java中UUID生成工具類(UUIDUtils)的相關資料,UUIDUtils工具類是用于生成和處理UUID的工具類,支持生成標準UUID、去掉連字符的UUID、基于命名空間的UUID、UUID校驗和格式化等操作,需要的朋友可以參考下
    2025-05-05
  • Java運行Jar包內(nèi)存配置的操作

    Java運行Jar包內(nèi)存配置的操作

    這篇文章主要介紹了Java運行Jar包內(nèi)存配置的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 解決mybatis中order by排序無效問題

    解決mybatis中order by排序無效問題

    這篇文章主要介紹了解決mybatis中order by排序無效問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 運用springboot搭建并部署web項目的示例

    運用springboot搭建并部署web項目的示例

    這篇文章主要介紹了運用springboot搭建并部署web項目的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 使用jar包反編譯形成pom工程

    使用jar包反編譯形成pom工程

    這篇文章主要介紹了使用jar包反編譯形成pom工程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • IDEA設置maven修改settings.xml配置文件無法加載倉庫的解決方案

    IDEA設置maven修改settings.xml配置文件無法加載倉庫的解決方案

    這篇文章主要介紹了IDEA設置maven修改settings.xml配置文件無法加載倉庫的解決方案,幫助大家更好的利用IDEA進行JAVA的開發(fā)學習,感興趣的朋友可以了解下
    2021-01-01

最新評論

绥芬河市| 胶州市| 察哈| 邹城市| 彭山县| 泸州市| 六安市| 玉门市| 新津县| 秀山| 钟山县| 柳江县| 涡阳县| 始兴县| 民丰县| 长岭县| 滨州市| 石渠县| 大安市| 台东县| 依安县| 长乐市| 耒阳市| 宣汉县| 陕西省| 甘德县| 马尔康县| 宁武县| 镇赉县| 岳阳市| 集贤县| 大竹县| 穆棱市| 天长市| 逊克县| 江达县| 南川市| 怀远县| 肥城市| 天峨县| 罗平县|