我有这样的一个日期字符串"19-Jul-05",我现在怎么将这个字符串,转换为日期类java.util.Date.
这样转java好象不支持,如下
SimpleDateFormat format=new SimpleDateFormat() ;
format.applyPattern( "dd-MMM-yyyy");
format.parseDate("04-Jul-05");
报ParseException异常.换成format.parseDate("04-07-05")就可以了.可是我的原始数据就是
"04-Jul-05",难道要取出来解析后再转吗,有没有直接的方法可以用啊.

解决方案 »

  1.   

    主要是 Locale 的问题,如果你写这样一段代码:
    SimpleDateFormat format=new SimpleDateFormat("dd-MMM-yyyy");
    String ds = format.format(new Date(System.currentTimeMillis()));
    System.out.println(ds);其结果就会像这样:
    19-七月-2005因为我们的机器的 Locale 默认是中文的
    所以如果你要解析英文格式的就要用SimpleDateFormat format=new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
    这样 parse 你那个字符串就没有问题了。