我有以下代码来格式化日期,但输出与模式不匹配。
try{
String date = "2014-11-1T12:14:00";
Date convertedDate = new SimpleDateFormat("yyyy-MM-dd").parse(date);
System.err.println(convertedDate.toString());
}catch(ParseException p){
System.err.println(p.getMessage());
}
输出
Sat Nov 01 00:00:00 EST 2014
答案 0 :(得分:1)
我认为你质疑为什么你没有时间,因为你的格式没有包含它。我建议您使用"yyyy-MM-dd'T'HH:mm:ss"
来匹配您的输入,并在致电DateFormat#format(Date)
时使用"yyyy-MM-dd"
,
try {
String date = "2014-11-1T12:14:00";
Date convertedDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(date);
System.out.println(convertedDate.toString());
// Per your comment you wanted to `format()` it like -
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(convertedDate));
} catch (ParseException p) {
System.err.println(p.getMessage());
}
答案 1 :(得分:1)
对于您在我们的对话中描述的内容,您可以简单地执行此操作:
System.err.println((new SimpleDateFormat("yyyy-MM-dd")).format(convertedDate));