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
何故ですか?
誰でも説明できますか?
あなたが期待している出力の種類はわかりませんが0302-02-20 12:00:00
、0302-02-20 00:00:00
. これは、hh
パターンを使用して時間をフォーマットしているためです。これは、時間を午前/午後の形式で出力します。am/pm マーカーで使用するかa
、 で 24 時間形式で使用できますHH
。
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