如何将字符串转换为日期,然后转换为其他格式?

时间:2014-02-06 13:26:17

标签: java date

实际上我想将一个String转换为日期然后我需要将其格式化为另一种格式..

我拥有的字符串是

 String val="Wed Jan 08 08:49:13 GMT+05:30 2014";

将其转换为

 2014-01-30 10:14:18  , this format

是否可以这样做我尝试了一些像

这样的方法
       SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
        String formattedDate = df.format(c.getTime());

        Calendar cal =   Calendar.getInstance(TimeZone.getTimeZone("GMT+1:00"));
          // Date currentLocalTime = ;
            DateFormat date = new SimpleDateFormat("HH:mm:ss:mmss a"); 

但没有任何效果

1 个答案:

答案 0 :(得分:3)

用于解析的格式字符串与您给出的示例日期不匹配。

您可以尝试以下内容:

    String val = "Wed Jan 08 08:49:13 GMT+05:30 2014";
    DateFormat inFmt = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy");
    Date date = inFmt.parse(val);
    DateFormat outFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    outFmt.setTimeZone(TimeZone.getTimeZone("GMT+1:00"));
    System.out.println(outFmt.format(date));

请注意前两行中的以下对应关系:

  • 周三 - > EEE
  • Jan - > MMM
  • 08 - > DD