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

Java日期接收報錯:could?not?be?parsed,?unparsed?text?found?at?index?10解決辦法

 更新時間:2024年01月28日 15:27:11   作者:一碗情深  
在做Java開發(fā)時肯定會碰到傳遞時間參數(shù)的情況,這篇文章主要給大家介紹了關于Java日期接收報錯:could?not?be?parsed,?unparsed?text?found?at?index?10的解決辦法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

問題背景

使用 Element-UI 的 el-date-picker 組件 將日期轉(zhuǎn)給Java,Java報錯

java.time.format.DateTimeParseException: Text ‘2024-01-03T16:00:00.000Z’ could not be parsed, unparsed text found at index 10

代碼

Vue

<el-date-picker
  v-model="form.removalDate"
  type="date"
  placeholder="選擇日期"
  style="width: 300px"
/>

Java實體類

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class AppProjects implements Serializable {
    
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date removalDate;
    
}

Java控制層

import com.alibaba.fastjson.JSONObject;

public Object update(@RequestBody JSONObject object) {
    AppProjects appProjects = object.toJavaObject(AppProjects.class);
    boolean update = appProjectsService.updateById(appProjects);
    return update;
}

當執(zhí)行 toJavaObject 方法時,報錯如下

java.time.format.DateTimeParseException: Text ‘2024-01-03T16:00:00.000Z’ could not be parsed, unparsed text found at index 10

修改Java控制層

更改為使用實體類接收參數(shù) @RequestBody AppProjects appProjects

public Object update(@RequestBody AppProjects appProjects) {
    boolean update = appProjectsService.updateById(appProjects);
    return update;
}

執(zhí)行方法時不報錯,但是日期的值卻比實際少一天,為什么呢?

因為前端實際選擇日期為 ‘2024-01-04’ ,傳值為 ‘2024-01-03T16:00:00.000Z’,該時區(qū)不是東八區(qū),使用實體類接收時去掉了時分秒,導致日期保存為 ‘2024-01-03’

已經(jīng)不報錯了,那么解決日期問題就簡單了!

解決方法

在 el-date-picker組件 使用屬性 value-format="yyyy-MM-dd" 將綁定的格式不指定為 Date 對象,綁定的值會轉(zhuǎn)為 string 對象,那么實際選擇哪一天的日期,就是 yyyy-MM-dd 格式的字符串啦!這樣后端就能正確接收日期了

<el-date-picker
  v-model="form.removalDate"
  type="date"
  value-format="yyyy-MM-dd"
  placeholder="選擇日期"
  style="width: 300px"
/>

補充:java后端接收前端傳遞的日期參數(shù)為空字符串時報錯

一、關于接收前端傳遞的日期參數(shù)的問題:

前提:

Date類型的屬性上添加了以下注解:

@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JSONField(format = "yyyy-MM-dd")

1、java.sql.date:空字符串解析報錯,正常日期格式字符串沒問題;

2、java.util.date:空字符串解析沒問題,正常日期格式字符串用于查詢時報錯;

二、方案:

1、Controller層添加以下方法,自定義解析參數(shù)(只在該Controller層生效)

@InitBinder
    public void initBinder(WebDataBinder binder){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        // spring提供的日期解析器(格式化,是否允許為空)選擇true則將空字符串解析為null
        CustomDateEditor customDateEditor = new CustomDateEditor(simpleDateFormat, true);
        // 為Date類型的屬性注冊解析器
        binder.registerCustomEditor(Date.class, customDateEditor);
    }

2、java.util.date用于查詢時格式化為yyyy-MM-dd

3、前端傳遞正確的日期/不傳遞該參數(shù)

總結

到此這篇關于Java日期接收報錯:could not be parsed, unparsed text found at index 10解決辦法的文章就介紹到這了,更多相關Java日期接收報錯could not be parsed內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Mybatis常用分頁插件實現(xiàn)快速分頁處理技巧

    Mybatis常用分頁插件實現(xiàn)快速分頁處理技巧

    這篇文章主要介紹了Mybatis常用分頁插件實現(xiàn)快速分頁處理的方法。非常不錯具有參考借鑒價值,感興趣的朋友一起看看
    2016-10-10
  • Java FTPClient連接池的實現(xiàn)

    Java FTPClient連接池的實現(xiàn)

    這篇文章主要介紹了Java FTPClient連接池的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Spring Bean三級緩存機制的技術指南

    Spring Bean三級緩存機制的技術指南

    在 Spring 框架中,Bean 的創(chuàng)建和管理是容器的核心功能之一,了提高性能,Spring 采用了多級緩存機制來減少不必要的對象創(chuàng)建和配置,本文將詳細介紹 Spring 中 Bean 三級緩存的實現(xiàn)原理,并通過代碼示例幫助你理解這個機制的工作方式,需要的朋友可以參考下
    2025-04-04
  • springboot config 攔截器使用方法實例詳解

    springboot config 攔截器使用方法實例詳解

    本文介紹Spring-Boot中使用攔截器的相關知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • Java線程之間的共享與協(xié)作詳解

    Java線程之間的共享與協(xié)作詳解

    這篇文章主要介紹了Java線程之間的共享與協(xié)作詳解,進程是操作系統(tǒng)進行資源分配的最小單位,線程是進程的一個實體,是CPU調(diào)度和分派的基本單位,它是比經(jīng)常更小的、能夠獨立運行的基本單位
    2022-07-07
  • SpringBoot 普通類調(diào)用Bean對象的一種方式推薦

    SpringBoot 普通類調(diào)用Bean對象的一種方式推薦

    這篇文章主要介紹了SpringBoot 普通類調(diào)用Bean對象的一種方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解springboot項目啟動時如何排除用不到的bean

    詳解springboot項目啟動時如何排除用不到的bean

    使用springboot開發(fā)項目,我們有時候會排除一些項目里面用不到的bean,不然的話項目啟動會報錯,這種情況通常是發(fā)生在什么場景里呢,以及如何解決呢,今天咱們就聊一聊
    2024-01-01
  • java實現(xiàn)按層遍歷二叉樹

    java實現(xiàn)按層遍歷二叉樹

    這篇文章主要為大家詳細介紹了java實現(xiàn)按層遍歷二叉樹,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • JAVA函數(shù)的定義、使用方法實例分析

    JAVA函數(shù)的定義、使用方法實例分析

    這篇文章主要介紹了JAVA函數(shù)的定義、使用方法,結合實例形式分析了JAVA函數(shù)的基本概念、功能、原理、定義、使用方法與操作注意事項,需要的朋友可以參考下
    2020-04-04
  • Spring?MVC各種參數(shù)進行封裝的方法實例

    Spring?MVC各種參數(shù)進行封裝的方法實例

    這篇文章主要給大家介紹了關于Spring?MVC各種參數(shù)進行封裝的相關資料,SpringMVC內(nèi)置多種數(shù)據(jù)類型轉(zhuǎn)換器,可以根據(jù)請求中的參數(shù)與后端控制器方法的參數(shù)的關系為我們實現(xiàn)簡單的數(shù)據(jù)封裝,需要的朋友可以參考下
    2023-06-06

最新評論