[英]Java SimpleDateFormat: Unparseable Date exception
代码如下:
public static void main(String[] args){
Date date = new Date();
DateFormat dateFormat= new SimpleDateFormat("dd-MMM-yyy");
try{
Date formattedDate = dateFormat.parse(date.toString());
System.out.println(formattedDate.toString());
}catch(ParseException parseEx){
parseEx.printStackTrace();
}
}
在上面的代码中, dateFormat.parse(date.toString())
抛出了Unparseable date: "Mon Jan 28 18:53:24 IST 2013
解析的日期异常: Unparseable date: "Mon Jan 28 18:53:24 IST 2013
我无法弄清楚原因。
使用SimpleDateFormat.format(java.util.Date)
将java.util.Date
实例格式化为 String
Date date = new Date();
DateFormat dateFormat= new SimpleDateFormat("dd-MMM-yyy");
try {
Date formattedDate = dateFormat.parse(dateFormat.format(date));
System.out.println(formattedDate.toString());
} catch (ParseException parseEx) {
parseEx.printStackTrace();
}
为什么要将日期转换为字符串并将其解析回日期?
您的代码失败的原因是您尝试使用仅接受 dd-MMM-yyy 格式的日期的格式化程序转换完整日期。
public static void main(String[] args) throws ParseException {
Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat(
"EEE MMM d HH:mm:ss Z yyyy");
Date formattedDate = dateFormat.parse(date.toString());
System.out.println(formattedDate);
}
这正是你想要做的......是吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.