1
    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

何故ですか?

誰でも説明できますか?

4

1 に答える 1

1

あなたが期待している出力の種類はわかりませんが0302-02-20 12:00:000302-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

于 2013-09-25T04:29:57.673 に答える