2

我从数据库中获取日期为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

4 回答 4

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

于 2013-05-02T19:02:55.377 回答
3

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

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

请参阅javadoc

于 2013-05-02T19:00:11.340 回答
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);

您也可以尝试从数据库中获取日期,而不是作为字符串,而是作为 java.sql.Date,那么第一步将是不必要的

于 2013-05-02T22:40:37.843 回答
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));
于 2014-01-09T12:10:04.207 回答