posts - 2, comments - 27, trackbacks - 0, articles - 60
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

SimpleDateFormat进行月分转换(MMM)异常的问题

Posted on 2011-11-15 10:10 ZhouFeng 阅读(2310) 评论(0)  编辑  收藏 所属分类: 原创JAVA
在做一个任务时,需要对日期进行转换,源始字串格式为:Tue Nov 15 09:17:35 CST 2011
希望转换成日期类型,写了如下代码
Date pubd = (new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy")).parse("Tue Nov 15 09:17:35 CST 2011");
没想到出现了异常提示
java.text.ParseException: Unparseable date: "Tue Nov 15 09:17:35 CST 2011"
我逐步排查,最后发现是MMM的问题,因为最后将代码精简到只剩MMM时还是出现这样的问题
Date pubd = (new SimpleDateFormat("MMM")).parse("Nov");
在网上查了些文档,也多半是讲解怎样用SimpleDateFormat进行日期转换的,好像遇到这样异常的还不多,最后看到JAVA文档里还有一个构造函数
SimpleDateFormat(String pattern, Locale locale)
结合网上的一些提示,Nov是英文中的表示方法,就试着在构造函数里添加一个Locale.US,结果如下
Date pubd = (new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",Locale.US)).parse("Tue Nov 15 09:17:35 CST 2011");
终于解决了这个问题,也许这对于有经验的老手来说,算不上什么。暂时记在这里先,如果有朋友再碰到这样的问题,希望能很快解决

只有注册用户登录后才能发表评论。


网站导航: