Posted on 2011-11-15 10:10
ZhouFeng 閱讀(2321)
評(píng)論(0) 編輯 收藏 所屬分類:
原創(chuàng) 、
JAVA
在做一個(gè)任務(wù)時(shí),需要對(duì)日期進(jìn)行轉(zhuǎn)換,源始字串格式為:Tue Nov 15 09:17:35 CST 2011
希望轉(zhuǎn)換成日期類型,寫了如下代碼
Date pubd = (new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy")).parse("Tue Nov 15 09:17:35 CST 2011");
沒想到出現(xiàn)了異常提示
java.text.ParseException: Unparseable date: "Tue Nov 15 09:17:35 CST 2011"
我逐步排查,最后發(fā)現(xiàn)是MMM的問題,因?yàn)樽詈髮⒋a精簡到只剩MMM時(shí)還是出現(xiàn)這樣的問題
Date pubd = (new SimpleDateFormat("MMM")).parse("Nov");
在網(wǎng)上查了些文檔,也多半是講解怎樣用SimpleDateFormat進(jìn)行日期轉(zhuǎn)換的,好像遇到這樣異常的還不多,最后看到JAVA文檔里還有一個(gè)構(gòu)造函數(shù)
SimpleDateFormat(String pattern, Locale locale)
結(jié)合網(wǎng)上的一些提示,Nov是英文中的表示方法,就試著在構(gòu)造函數(shù)里添加一個(gè)Locale.US,結(jié)果如下
Date pubd = (new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",Locale.US)).parse("Tue Nov 15 09:17:35 CST 2011");
終于解決了這個(gè)問題,也許這對(duì)于有經(jīng)驗(yàn)的老手來說,算不上什么。暫時(shí)記在這里先,如果有朋友再碰到這樣的問題,希望能很快解決