Java 为什么SimpleDataFormat不应用指定的日期模式?
我有以下代码来格式化日期,但输出与模式不匹配Java 为什么SimpleDataFormat不应用指定的日期模式?,java,Java,我有以下代码来格式化日期,但输出与模式不匹配 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){ S
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
我想你是在质疑为什么没有时间,因为你的格式没有包含时间。我建议您在呼叫时使用
“yyyy-MM-dd'T'HH:MM:ss”
匹配您的输入和“yyy-MM-dd”
对于您在下面的对话中所描述的内容,您可以简单地执行以下操作:
System.err.println((new SimpleDateFormat("yyyy-MM-dd")).format(convertedDate));
因此,您不知道打印的是输出还是异常处理程序……请阅读本文-
Date
没有格式概念,它只是Unix时代以来毫秒数的容器。相反,您需要使用所需的格式将日期
值格式化为字符串
。问题是为什么我的格式是yyyy MM dd,而输出不是2014-11-01@Jack编辑。您确实想格式化它。问题是为什么我的格式是yyyy MM dd,但输出不是2014-11-01
System.err.println((new SimpleDateFormat("yyyy-MM-dd")).format(convertedDate));