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

解決java字符串轉(zhuǎn)換成時間Unparseable date出錯的問題

 更新時間:2021年06月18日 09:51:08   作者:Master_Yoda  
這篇文章主要介紹了解決java字符串轉(zhuǎn)換成時間Unparseable date出錯的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

今天在寫代碼的時候,在將字符串轉(zhuǎn)換成時間的時候,出現(xiàn)了這樣的問題。

java.text.ParseException: Unparseable date: "2017-1-1 00:00:00"

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date start = df.parse(startTime);
        Date stop = df.parse(stopTime);
        long timeSpan = stop.getTime() - start.getTime();
        long hours = timeSpan / (3600 * 1000);

我通過上面這些代碼來計算傳入的連個時間的時間差,可以在運行的時候卻出現(xiàn)上面那個問題,百度了一下,在進(jìn)行時間轉(zhuǎn)換的時候,字符串的長度要一一對應(yīng),

也就是說和這個“yyyy-MM-dd“要長度一致,比如2013-1-1要轉(zhuǎn)換成時間的話需要寫成”2013-01-01“;

然后就可以轉(zhuǎn)換成功了!

java.text.ParseException: Unparseable date: ""--異常6

情景:

在struts2項目在進(jìn)行時間段查詢時,action處報了如下java.text.ParseException: Unparseable date: "" ,查看一下代碼沒有問題,在進(jìn)行數(shù)據(jù)接收時進(jìn)行判斷,但是沒有得到想要結(jié)果,有些郁悶的,解決后在此記錄一下:

[1]之前報錯代碼:

 if (bgndate!=null&&bgndate!=""&&enddate!=null && enddate!="")) 

就是在這里出現(xiàn),請求時間為空時,按理不該走的,實際卻走了,那肯定是我這個判斷有問題啦

    public String yaoqinglist() throws Exception {
        try{
             //bgndate 和 enddate 傳過來是字符串的類型
            ActWork actWork=new ActWork();
            // 小寫的mm表示的是分鐘
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            if (bgndate!=null&&bgndate!=""&&enddate!=null && enddate!="")) {
 
                Date bDate = sdf.parse(bgndate);
                Date eDate = sdf.parse(enddate);
                String format = sdf.format(bDate);
                String startTime  = format.replace("-", "");// 去特殊字符
                actWork.setStartTime(startTime);//展會開始時間 如:20190401
                String format1 = sdf.format(eDate);// 去特殊字符
                String endTime = format1.replace("-", "");
                actWork.setEndTime(endTime);//展會結(jié)束時間 如:20190430
            }
            ....省略
 
          }catch (Exception e){
            log.error(e.toString(), e);
            return ERROR;
        }
        return "worklist";

[2]尋找原因:

java數(shù)據(jù)類型的使用用錯了,尷尬的不行,java 基礎(chǔ)很重要呀 !我們都知道 ,java 分為基礎(chǔ)數(shù)據(jù)類型(byte,short,char,int,long,float,double,boolean )和復(fù)合類型(String ,Intger,Long 等),基礎(chǔ)類型使用"=="比較,復(fù)合類型使用"equals"進(jìn)行比較,而我使用的變量是String類型,但是我用如bgndate!=""這就肯定不行了,使用equals就可以了。

[3]

if (bgndate!=null&&!bgndate.equals("") &&enddate!=null&& !enddate.equals("")) 

解決如下:

    public String yaoqinglist() throws Exception {
        try{
             //bgndate 和 enddate 傳過來是字符串的類型
            ActWork actWork=new ActWork();
            // 小寫的mm表示的是分鐘
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            if (bgndate!=null&&!bgndate.equals("") &&enddate!=null&& !enddate.equals("")) {
 
                Date bDate = sdf.parse(bgndate);
                Date eDate = sdf.parse(enddate);
                String format = sdf.format(bDate);
                String startTime  = format.replace("-", "");// 去特殊字符
                actWork.setStartTime(startTime);//展會開始時間 如:20190401
         
                String format1 = sdf.format(eDate);// 去特殊字符
                String endTime = format1.replace("-", "");
                actWork.setEndTime(endTime);//展會結(jié)束時間 如:20190430
            }
            ....省略
 
          }catch (Exception e){
            log.error(e.toString(), e);
            return ERROR;
        }
        return "worklist";

OK 就到這里嘍!(^_^)

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

相關(guān)文章

  • Spring security自定義用戶認(rèn)證流程詳解

    Spring security自定義用戶認(rèn)證流程詳解

    這篇文章主要介紹了Spring security自定義用戶認(rèn)證流程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 使用kotlin集成springboot開發(fā)的超詳細(xì)教程

    使用kotlin集成springboot開發(fā)的超詳細(xì)教程

    目前大多數(shù)都在使用java集成 springboot進(jìn)行開發(fā),本文演示僅僅將 java換成 kotlin,其他不變的情況下進(jìn)行開發(fā),需要的朋友可以參考下
    2021-09-09
  • Spring手動獲取bean的四種方式

    Spring手動獲取bean的四種方式

    本文主要介紹了Spring手動獲取bean的四種方式,包括BeanFactoryPostProcessor接口,ApplicationContextAware接口,注解 @PostConstruct 初始化時獲取,啟動類ApplicationContext獲取這四種方法,感興趣的可以了解一下
    2024-01-01
  • SpringBoot中的統(tǒng)一異常處理詳細(xì)解析

    SpringBoot中的統(tǒng)一異常處理詳細(xì)解析

    這篇文章主要介紹了SpringBoot中的統(tǒng)一異常處理詳細(xì)解析,該注解可以把異常處理器應(yīng)用到所有控制器,而不是單個控制器,借助該注解,我們可以實現(xiàn):在獨立的某個地方,比如單獨一個類,定義一套對各種異常的處理機(jī)制,需要的朋友可以參考下
    2024-01-01
  • Java基礎(chǔ)語法:邏輯控制

    Java基礎(chǔ)語法:邏輯控制

    下面小編就為大家?guī)硪黄狫ava邏輯控制的基礎(chǔ)文章。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-08-08
  • Spring?Boot應(yīng)用打WAR包后無法注冊到Nacos的問題及解決方法

    Spring?Boot應(yīng)用打WAR包后無法注冊到Nacos的問題及解決方法

    當(dāng)我們將?Spring?Boot?應(yīng)用打包成?WAR?并部署到外部?Tomcat?服務(wù)器時,可能會遇到服務(wù)無法注冊到?Nacos?的情況,其原因主要是應(yīng)用獲取不到正確的服務(wù)器端口,下面給大家介紹Spring?Boot?應(yīng)用打?WAR?包后無法注冊到?Nacos的問題及解決方法,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Java高性能本地緩存框架Caffeine的實現(xiàn)

    Java高性能本地緩存框架Caffeine的實現(xiàn)

    本文主要介紹了Java高性能本地緩存框架Caffeine的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 使用Spring自身提供的地址匹配工具匹配URL操作

    使用Spring自身提供的地址匹配工具匹配URL操作

    這篇文章主要介紹了使用Spring自身提供的地址匹配工具匹配URL操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java實例講解注解的應(yīng)用

    Java實例講解注解的應(yīng)用

    JAVA注解?Annotation(注解)是JDK1.5及以后版本引入的。它可以用于創(chuàng)建文檔,跟蹤代碼中的依賴性,甚至執(zhí)行基本編譯時檢查。注解是以‘@注解名’在代碼中存在的
    2022-06-06
  • SpringBoot整合第三方技術(shù)的實現(xiàn)

    SpringBoot整合第三方技術(shù)的實現(xiàn)

    本文主要介紹了SpringBoot整合第三方技術(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評論