2016-08-27 5 views
0

Javaのカレンダークラスで、ミリ秒を追加しているときに、十進数の歳差がありません。 )は、Java
カレンダーC = Calendar.getInstance( で1000から1012 = 83.333333javaカレンダーの浮動小数点数をミリ秒に追加する方法はありますか?

;方法は、例えば整数

を期待しているので c.add(Calendar.MILLISECOND、(整数));

83と.33333しか必要としません。

誰もがこのシナリオをJavaで処理する方法を知っていますか?

+4

そして、小数点以下はどのように表すべきですか?ナノ秒? – Tom

答えて

2

java.util.Calendar時間インスタントがエポック1970年1月1日00からオフセットされたミリ秒の値で表すことができる

、ミリ秒レベルの時間情報を保持:00:00.000 GMT (グレゴリアン)。

java.time.LocalDateTimeは、ナノ秒レベルの感度を有する。

時間はナノ秒精度で表されます。たとえば、 「2007年10月2日at 13:45.30.123456789」という値は、 LocalDateTimeに格納できます。

ので、あなたがマイクロまたはナノ秒レベルの情報が必要な場合、あなたはjava.util.Calendarを使用することはできません、あなたはjava.time.LocalDateTimeを使用する必要があります。

+0

実際の瞬間については、 'Instant'、' OffsetDateTime'、 'ZonedDateTime'を使用します。 'LocalDateTime'クラスには、タイムゾーンやUTCからのオフセットというコンセプトがないので、タイムライン上の特定のポイントを表すものではありません。 –

関連する問題