在Java中将String转换为Date对象

时间:2012-07-24 05:24:36

标签: java date

我需要将以下字符串解析为java中的日期对象:

String time = "Jul 24 2012 05:19:34";
DateFormat df = new SimpleDateFormat("MM dd yyyy HH:mm:ss");
Date date = df.parse(time);

代码抛出此异常:

Unparseable date: "Jul 24 2012 05:19:34"

有谁知道如何解决这个问题?

5 个答案:

答案 0 :(得分:6)

成功

DateFormat df = new SimpleDateFormat("MMM dd yyyy HH:mm:ss");

注意:MMM

答案 1 :(得分:2)

格式字符串应为 - "MMM dd yyyy HH:mm:ss"

答案 2 :(得分:2)

'MMM'用于获取前三个字母的字母表中的月份名称 “MM”用于获取一年中的月份数

String time =“2012年7月24日05:19:34”;

Format formatter = new SimpleDateFormat(“MMM dd yyyy HH:mm:ss”); // MMM return Jul

formatter = new SimpleDateFormat(“MM”); // MM返回07

答案 3 :(得分:1)

不推荐使用Date.parse方法,但仍然可以正常工作:

    Date d = new Date(Date.parse(time));
    System.out.println(d);

但是,如果您希望继续使用您的方法,请将另外一个M添加到格式的MM部分(现在为MMM)

答案 4 :(得分:1)

格式应该是 - “MMM dd yyyy HH:mm:ss”而不是“MM dd yyyy HH:mm:ss”。 您可以参考docs。标记分钟mm和月mmm之间的差异