亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:119日期:2022-08-10 13:04:08

今天在寫代碼的時(shí)候,在將字符串轉(zhuǎn)換成時(shí)間的時(shí)候,出現(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);

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

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

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

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

情景:

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

[1]之前報(bào)錯(cuò)代碼:

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

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

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);//展會(huì)開始時(shí)間 如:20190401String format1 = sdf.format(eDate);// 去特殊字符String endTime = format1.replace('-', '');actWork.setEndTime(endTime);//展會(huì)結(jié)束時(shí)間 如:20190430 } ....省略 }catch (Exception e){ log.error(e.toString(), e); return ERROR;}return 'worklist';

[2]尋找原因:

java數(shù)據(jù)類型的使用用錯(cuò)了,尷尬的不行,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);//展會(huì)開始時(shí)間 如:20190401 String format1 = sdf.format(eDate);// 去特殊字符String endTime = format1.replace('-', '');actWork.setEndTime(endTime);//展會(huì)結(jié)束時(shí)間 如:20190430 } ....省略 }catch (Exception e){ log.error(e.toString(), e); return ERROR;}return 'worklist';

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 免费高清特黄a 大片 | 久久―日本道色综合久久 | 国产精品手机在线亚洲 | 欧美一级高清视频在线播放 | 日韩特级毛片 | 波多野一区二区三区在线 | 给我一个可以看片的www日本 | 精品免费久久久久久成人影院 | 在线视频三区 | 日韩亚洲一区二区三区 | 亚洲另类在线视频 | 成年人午夜网站 | 在线观看片成人免费视频 | 三级毛片在线播放 | 亚洲永久中文字幕在线 | 欧美日韩久久 | 一级视频在线观看 | 在线日本看片免费人成视久网 | shkd在线观看 | 国产日韩欧美一区二区 | 久久免费视频网站 | 日韩精品亚洲一级在线观看 | 99久久精品免费看国产高清 | 欧美一级毛片欧美大尺度一级毛片 | 亚洲 欧美 日韩中文字幕一区二区 | 欧美一级特黄一片免费 | 国产一区二区三区久久小说 | 免费观看欧美一级特黄 | 一级做a爰片久久毛片欧美 一级做a爰片久久毛片人呢 | 亚洲美女色成人综合 | 日韩免费毛片全部不收费 | 二区三区在线观看 | 久久久www免费人成看片 | 视频国产91 | 国产成人精选免费视频 | 欧美成人性做爰 | 青青自拍视频一区二区三区 | 国产91精品久久久久999 | a在线v| 日韩精品永久免费播放平台 | 伊人狼人影院 |