如何解析日期到EEE MMM dd HH:mm:ss zzz yyyy格式?

时间:2013-05-02 18:58:42

标签: java parsing date

我从数据库获取日期2013-05-03 00:20:29.0。我想将日期解析为EEE MMM dd HH:mm:ss zzz yyyy格式,但是当我解析它时,我得到了这个例外:

java.text.ParseException: Unparseable date: "2013-05-03 00:20:29.0"

我的代码如下:

    String createdDate = "2013-05-03 00:20:29.0";
    SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
    Date parseDate = format.parse(createdDate);

4 个答案:

答案 0 :(得分:7)

您必须调整格式模式。格式必须是yyyy-MM-dd HH:mm:ss.S

试试这个

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");

请参阅http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

答案 1 :(得分:3)

您的SimpleDateFormat模式与createdDate不匹配。格式应为:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");

请参阅javadoc

答案 2 :(得分:3)

我想知道您想将日期转换为新格式

Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse("2013-05-03 00:20:29.0");
String str = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").format(date);

您也可以尝试从DB中获取日期而不是String而不是java.sql.Date,那么第一步将是不必要的

答案 3 :(得分:0)

以下是一个例子:

String str_date= "29/02/2013";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");        
java.util.Date dt = sdf.parse(str_date);
DateFormat df = new SimpleDateFormat("EEEE");
System.out.println(df.format(dt));