请教:把string转换成Date类型~~在线等!!!!

liuzw007 2010-12-29 11:30:33
String s ="Thu, 02 Mar 2006 05:14:25 GMT";
SimpleDateFormat inSdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
Date dateS;
try {
dateS = inSdf.parse(s);
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
System.out.println(sdf.format(dateS));
} catch (ParseException e4) {
System.out.println("e4");
e4.printStackTrace();
}

我想把字符串s转换成:20060302 就是把其中的年月日提取出来,yyyyMMdd形式。
这句:SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z") parse的时候抛异常,不知道怎么匹配那个s字符串。求教!谢谢了!
...全文
843 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
小莫M 2010-12-29
  • 打赏
  • 举报
回复


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

改成:

SimpleDateFormat inSdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z",Locale.ENGLISH);

默认会使用本国的日期格式,有时候会用中文格式化日子, 如果日期是 “星期三, 29 十二月 2010 23:56:28 CST”类型的就可以用楼主的代码了,你可以试一下
liuzw007 2010-12-29
  • 打赏
  • 举报
回复
非常感谢!!
qian119110 2010-12-29
  • 打赏
  • 举报
回复

try{
String s ="20060302 ";;
SimpleDateFormat formate= new SimpleDateFormat("yyyyMMdd");
Date date = formate.parse(s);
System.out.println(date);//输出结果:Thu Mar 02 00:00:00 CST 2006
}catch(Exception e){e.printStackTrace();}


这样不是更方便?
huntor 2010-12-29
  • 打赏
  • 举报
回复
SimpleDateFormat informat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z",Locale.US);

or
SimpleDateFormat informat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z",DateFormatSymbols.getInstance(Locale.US));

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧