为什么DateFormat.format(date)给出的时间与date.toString()不同?

时间:2014-03-05 22:30:42

标签: java date

我在我的代码中观察到这种奇怪的行为 -

Date executionDate = execDao.getExecutionDate(id);
System.out.println(executionDate);

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(dateFormat.format(executionDate));

这给出了输出

2014-03-05 22:10:46.0
2014-03-05 10:10:46

为什么输出中的小时差异?

1 个答案:

答案 0 :(得分:4)

默认情况下,第一种方法获得24次。第二个获得12小时的时间,因为这是你指定的。将第二个函数调用更改为  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");获得24小时格式。

http://developer.android.com/reference/java/text/SimpleDateFormat.html