获取java.lang.IllegalArgumentException:非法模式字符'o'?在解析java.text.SimpleDateFormat时

时间:2011-02-14 14:12:16

标签: java date date-format simpledateformat java.util.date

我想将字符串转换为java.util.Date。出于同样的目的,我使用了以下代码,

String timeStamp = "Mon Feb 14 18:15:39 IST 2011";
DateFormat formatter = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy");
Date ts = (Date)formatter.parse(timeStamp);

给SimpleDateFormat()的格式是java.util.Date的格式。当您将util的Date转换为字符串时,它会以这种格式出现('dow mon dd hh:mm:ss zzz yyyy')。 但是当我执行代码时,它给了我异常。我不知道究竟需要做些什么才能摆脱这个问题。我发布了异常的StackTrace部分。如果有人知道解决方案,

  

java.lang.IllegalArgumentException异常:   非法模式字符'o'   java.text.SimpleDateFormat.compile(SimpleDateFormat.java:769)     在   java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:576)     在   java.text.SimpleDateFormat中。(SimpleDateFormat.java:501)     在   java.text.SimpleDateFormat中。(SimpleDateFormat.java:476)   提前谢谢。

2 个答案:

答案 0 :(得分:13)

请改为尝试:

DateFormat formatter = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy");

E用于“Day in Week”作为文本,M是月份名称。

答案 1 :(得分:3)

你认为格式错了我相信,如果你在这里看http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html它的一周中的E和一个月的M