【问题标题】:Convert String to Date Object in Java在 Java 中将字符串转换为日期对象
【发布时间】:2012-07-24 05:24:36
【问题描述】:

我需要将以下字符串解析成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"

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

【问题讨论】:

    标签: java date


    【解决方案1】:

    做起来

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

    注意:MMM

    【讨论】:

    • 我必须等待 12 分钟才能接受您的回答。我不知道为什么。
    • @user1467855 这样您就可以查看所有答案并接受最佳答案。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      字符串时间 = "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

      【讨论】:

        【解决方案4】:

        Date.parse 方法已被弃用,但仍然可以正常工作:

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

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

        【讨论】:

        • 他为什么要改用不推荐的方法?他使用的那个非常适合这项工作,他只需要更改格式字符串中的一个字符。
        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 2011-10-25
          • 1970-01-01
          • 2020-05-21
          • 2020-11-30
          • 2016-05-24
          • 1970-01-01
          • 2023-03-17
          • 1970-01-01
          相关资源
          最近更新 更多