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
这是为什么?谁能解释一下?

最佳答案

您使用的是hh,它是12小时格式(文档中指定的“上午/下午的小时数(1-12)”)。请改用HH

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


除非您还使用hh(AM / PM指示符),否则几乎不要使用a

(您是不是真的出于兴趣而在302AD年创建了时间戳?)

10-08 06:47
查看更多