关于simpleFormatDate的日期格式问题

时间:2013-09-25 04:07:40

标签: java solr

    Timestamp tsmp = Timestamp.valueOf("0302-02-20 00:00:00");

    final DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    System.out.println(df.format(tsmp));

此代码段打印:0302-02-20 12:00:00

为什么?

有人可以解释一下吗?

1 个答案:

答案 0 :(得分:1)

我不知道你期望什么样的输出,但我想你想知道为什么打印0302-02-20 12:00:00而不是0302-02-20 00:00:00。那是因为您使用hh模式来格式化小时。以am / pm格式打印小时。您可以将其与上午/下午标记a一起使用,也可以使用HH在24小时内进行格式化。

final DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a"); 

会打印0302-02-20 12:00:00 am

final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

会打印0302-02-20 00:00:00

有关模式的更多信息,请点击此处。 http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html