我有这段简单的代码:
SimpleDateFormat sqlFormatter = new SimpleDateFormat ("YYYY-MM-dd HH:mm:ss");
String temp = "2012-03-09 12:00:00";
System.out.println (temp);
Date last = sqlFormatter.parse (temp);
System.out.println (last);
我得到了这个输出:
2012-03-09 12:00:00
Sun Jan 01 12:00:00 EST 2012
我知道应该很简单,但我希望有人可以很快看到我所缺少的东西。
答案 0 :(得分:6)
我认为你的模式有点偏差。我很惊讶你没有看到IllegalArgumentException。尝试使用以下小写y的模式,看看是否能解决您的问题:
SimpleDateFormat sqlFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
答案 1 :(得分:2)
此处更正的代码:
SimpleDateFormat sqlFormatter = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
String temp = "2012-03-09 12:00:00";
System.out.println(temp);
Date last = sqlFormatter.parse(temp);
System.out.println(last);
您应该SimpleDateFormat
而不是SimpleDateFormatter
多年来,您应该yyyy
代替YYYY
。
答案 2 :(得分:1)
一旦我更正了格式字符串 - Y
是不允许的,您需要y
- (以及已经提到过的错字)它运行良好:
SimpleDateFormat sqlFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String temp = "2012-03-09 12:00:00";
System.out.println (temp);
Date last = sqlFormatter.parse (temp);
System.out.println (last);
>2012-03-09 12:00:00
>Fri Mar 09 12:00:00 EST 2012
答案 3 :(得分:1)
你需要使用'yyyy'而不是'YYYY'
这是输出
2012-03-09 12:00:00
Fri Mar 09 12:00:00 IST 2012
用于模式
yyyy-MM-dd HH:mm:ss