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

java Date裝成英文String后,無法再轉(zhuǎn)回Date的解決方案

 更新時(shí)間:2017年01月06日 11:29:43   作者:wangyuheng77  
本文介紹了java Date裝成英文String后,無法再轉(zhuǎn)回Date的解決方案。具有一定的參考價(jià)值,下面跟著小編一起來看下吧

這是同事遇到的一個(gè)問題。

代碼中的Date,放到頁面上的格式為“Fri Mar 21 09:20:38 CST 2014”(不顯示,只為傳遞到下一個(gè)controller),

再次提交表單時(shí),Dto類的  private Date startTime; 沒有被set進(jìn)值。

用本地程序做了一下實(shí)驗(yàn)

public static void main(String[] args) { 
  Date now = new Date(); 
  System.out.println(now); 
  String nowStr = now.toString(); 
  DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy"); 
  Date parsedNow = null; 
  try { 
    parsedNow = format.parse(nowStr); 
    System.out.println(parsedNow); 
  } catch (ParseException e) { 
    e.printStackTrace(); 
  } 
} 

程序執(zhí)行format.parse(nowStr)時(shí)報(bào)錯(cuò)

Java.text.ParseException: Unparseable date: "Fri Mar 21 09:25:48 CST 2014"

at java.text.DateFormat.parse(DateFormat.java:337)

分析和查看源碼后得出結(jié)論,由系統(tǒng)所使用的語言導(dǎo)致的錯(cuò)誤。

DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy"); 

默認(rèn)其實(shí)是

DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", new Locale(System.getProperty("user.language"))); 

其中System.getProperty("user.language")由于系統(tǒng)是中文,所以為zh,應(yīng)該是中文時(shí)區(qū)不支持此種format。

修改上面的代碼驗(yàn)證此觀點(diǎn)

public static void main(String[] args) { 
  Date now = new Date(); 
  System.out.println(now); 
  String nowStr = now.toString(); 
  DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", new Locale(System.getProperty("user.language"))); 
  System.out.println(System.getProperty("user.language")); 
  Date parsedNow = null; 
  try { 
    parsedNow = format.parse(nowStr); 
    System.out.println(parsedNow); 
  } catch (ParseException e) { 
    format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH); 
    try { 
      System.out.println("new format by 'en'"); 
      System.out.println(format.parse(nowStr)); 
    } catch (ParseException e1) { 
      e1.printStackTrace(); 
    } 
  } 
} 

另一種解決方案是,在jsp頁面中,對(duì)日期格式進(jìn)行一次轉(zhuǎn)換,如

<input type="hidden" name="data" value=' 
          <fmt:formatDate value="${dto.date}" pattern="yyyy-MM-dd"/> 
          '/> 

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

最新評(píng)論

梁河县| 雷波县| 鄂托克前旗| 宜章县| 鄂尔多斯市| 泽库县| 土默特右旗| 五华县| 广东省| 罗平县| 隆回县| 威海市| 宁化县| 崇阳县| 禹州市| 延津县| 建昌县| 武山县| 普兰县| 田东县| 永胜县| 洪雅县| 邵阳市| 汤原县| 健康| 庄河市| 青海省| 麻阳| 镶黄旗| 梧州市| 鄱阳县| 红桥区| 清远市| 滁州市| 安泽县| 德保县| 曲阳县| 龙川县| 和硕县| 博罗县| 西乌|