53

Windows (8) ワークステーションと AIX の両方でこのコードをテストしました。

    public static void main(String[] args) {
        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").format(new Date()));
        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").format(new Date()));
    }

その結果、次のような結果が得られました。

2013-10-07 12:53:26.000905
2013-10-07 12:53:26.000906

マイクロ秒ではないにしても、最後の桁は何ですか?

注: 私は時系列データが TIMESTAMP として時間列を使用して保存されている DB2 データベースと対話します。秒の後に 6 桁、つまりマイクロ秒 (IMO) があります。ただし、これらの「タイムスタンプ」はすべて、次のクエリを要求することによって作成されます。

SELECT current timestamp as currenttimestamp FROM Table ( values (1)) temp

上記の結果を考えると、データベースからnew Date()を選択する代わりに、自分のコードで を使用できなかったのではないでしょうか。current timestamp

ありがとう。

PS: 検索しましたが、関連する (回答された) 質問は見つかりません でし

4

5 に答える 5

0

テキスト表現で小数秒を取得する場合は、java.sql.Timestamp.toString を使用します。DB の Timestamp と Java Date の違いは、DB の精度がナノ秒で、Java の Date 精度がミリ秒であることです。

于 2013-10-07T11:19:38.340 に答える