【问题标题】:date object string to date in java [duplicate]java中的日期对象字符串到日期[重复]
【发布时间】:2014-09-24 12:18:21
【问题描述】:

我有如下字符串,我需要将其转换为 java 中的日期

"Tue Sep 30 00:00:00 GMT+05:30 2014"

这是 java 日期对象的字符串表示形式。我把它作为一个字符串,我需要像“2014 年 9 月 30 日”这样解析它

我想如果我可以将它作为一个日期对象,我可以使用 simpledateformat 获得我想要的任何格式。但问题是我如何从这个字符串中获取日期对象

【问题讨论】:

  • SimpleDateFormat 也有一个parse() 方法
  • 对我投反对票。我无法想象你怎么会发现 parse() 方法,即使是一点点先前的研究。

标签: java date simpledateformat


【解决方案1】:

你要找的格式是这样的:

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy");

您可以在这里查看所有有效格式http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

【讨论】:

    【解决方案2】:

    也可以使用SimpleDateFomrat将字符串解析为日期:

    String s = "Tue Sep 30 00:00:00 GMT+05:30 2014";
    SimpleDateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
    System.out.println(df.parse(s));
    

    【讨论】:

      【解决方案3】:
      public static Date convertDate(final String dateValue) {
          final SimpleDateFormat format = new SimpleDateFormat("dd MMM yyyy");
          Date date = null;
          try {
              date = format.parse(dateValue);
              return date;
          } catch (final ParseException e) {
              LOG.error(e.getMessage(), e);
              return null;
          }
      }
      

      【讨论】:

        【解决方案4】:

        the java 8 version... 你会发现 stackoverflow 中已经存在更多条目。

        【讨论】:

        • 请不要只链接到您的答案中的其他答案或问题。这就是 cmets 的用途(或标记)。
        猜你喜欢
        • 2011-12-19
        • 2011-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-07
        • 2023-03-17
        • 2011-02-17
        • 1970-01-01
        相关资源
        最近更新 更多