ここでは、forループの各繰り返しでDateに対して異なる値を生成する必要があります。各繰り返しごとに異なる日付を生成
currentTimeMillisを使用すると、同じ時間が得られますが、nanoTimeは間違った日付を返します。
Tue Feb 09 09:56:54 IST 2292
Tue Feb 09 09:57:39 IST 2292
Tue Feb 09 09:58:10 IST 2292
Tue Feb 09 09:58:50 IST 2292
Tue Feb 09 09:59:24 IST 2292
Tue Feb 09 09:59:53 IST 2292
Tue Feb 09 10:00:29 IST 2292
Tue Feb 09 10:00:59 IST 2292
Tue Feb 09 10:01:37 IST 2292
Tue Feb 09 10:02:18 IST 2292
UPDATE
Mon Oct 30 19:33:43 IST 2017
Mon Oct 30 19:33:43 IST 2017
Mon Oct 30 19:33:43 IST 2017
Mon Oct 30 19:33:43 IST 2017
Mon Oct 30 19:33:43 IST 2017
Mon Oct 30 19:33:43 IST 2017
Mon Oct 30 19:33:43 IST 2017
Mon Oct 30 19:33:43 IST 2017
Mon Oct 30 19:33:43 IST 2017
Mon Oct 30 19:33:43 IST 2017
for (int i = 0; i < 10; i++) {
System.out.println(new Date(System.currentTimeMillis()));
}
for (int i = 0; i < 10; i++) {
System.out.println(new Date(System.nanoTime()));
}
:と反復ごとに異なるタイムスタンプを生成する必要が異なるレコードがユニークなタイムスタンプを持っている必要がありカサンドラデータベースに起こっています。それ以外の場合は、お互いを上書きします。また、forループで秒を追加すると問題は解決しますが、偽のtime.Adding睡眠は残念なことにオプションはありませんコードはできるだけ早くレコードを追加して終了する必要があります
System.currentTimeMillis()を使用して最初の例でミリ秒を印刷しないのはなぜですか?日付が同じでない可能性があります – NAIT
最初のforループが速すぎます。各反復の間にかなりの時間がないので、同じ時間が得られます。それが1秒以上実行され、時間の変化がわずかに見えるはずです。 –
したがって、これらの日付がどのように定義されているかを除いて、それらの日付は異なる必要はありませんか? 3000年の日付は大丈夫でしょうか?あなたはここで何を達成しようとしていますか? –