我从数据库获取日期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);
答案 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));