3

System.currentTimeMillisJava doc では、比較に使用しないように指示されているので、System.nanoTimeどちらを使用し始めました。
しかし、いくつかの問題に遭遇しました。過去のイベントを比較する必要があります。

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, xyz);
cal.getTimeMillis();

で時刻を取得するのに問題なく動作しますが、(1000000 を掛けて) にmilliseconds変換するのは不正確にはほど遠いです。nanoseconds

過去のイベントの時間をミリ秒単位で取得するにはどうすればよいですか?

4

2 に答える 2

3

JavaのCalendarクラスにはナノ秒の情報が含まれていません。だから、あなたはそれを得ることができません。

long詳細が必要な場合は、後で比較するイベントについてナノ秒を保存する必要があります。: これもできません。nanoTime() は現在の時刻を表すものではありませんが、古いプロセスの経過時間を評価するために保存することはできます。

于 2013-01-21T20:46:53.710 に答える
0

1,000,000 の乗算に使用するデータ型は何ですか? おそらく、十分に正確な BigDecimal を使用する必要があります。

于 2013-01-21T20:48:08.250 に答える