无法解析String到日期格式

时间:2015-04-02 08:02:22

标签: java simpledateformat

我无法弄清楚为什么这段代码不会起作用。任何人都可以帮助我

String dateStr = "Thu Apr 02 09:49:16 CEST 2015";
DateFormat readFormat = new SimpleDateFormat( "EEE MMM dd HH:mm:ss z yyyy");

DateFormat writeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
        try {
            date = readFormat.parse(dateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        String formattedDate = "";
        if (date != null) {
            formattedDate = writeFormat.format(date);
        }

        System.out.println(formattedDate);

除非我遗漏了某些东西,否则我的阅读格式应该是好的。

我总是得到一个java.text.ParseException:Unparseable date:" Thu Apr 02 09:49:16 CEST 2015"

在线:date = readFormat.parse(dateStr);

我在http://ideone.com/oBwtQo上尝试了代码,它也在那里工作。为什么不能在我的PC上使用NetBeans。

3 个答案:

答案 0 :(得分:3)

试试这个

DateFormat readFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);

答案 1 :(得分:1)

代码工作正常,请检查您的导入,您将这些类

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

答案 2 :(得分:1)

这个完美无缺

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
public static void main(String[] args)
{
    String dateStr = "Thu Apr 02 09:49:16 CEST 2015";
    DateFormat readFormat = new SimpleDateFormat( "EEE MMM dd HH:mm:ss z yyyy");
    DateFormat writeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = null;
    try {
        date = readFormat.parse(dateStr);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    String formattedDate = "";
    if (date != null) {
        formattedDate = writeFormat.format(date);
    }
    System.out.println(formattedDate);
    }
}

输出:2015-04-02 13:19:16

请检查您的导入