athosbr99:
次のスニペットを仮定します。
LocalTime test = LocalTime.of(21, 14);
test.plusHours(5);
結果は通常、だろう、02:14
しかし、私は、24時間の制限を超えて合計するので、その結果は次のようになります26:14
。
この場合、私はそれが仕事に費やすどのくらいの時間、ユーザ入力することができるというフィールドを持っています。しかし、私は(例えば2日と4時間)の代わりに日の時間(例えば48時間)と仕事をしなければなりません。
私は内それを達成できるという方法があるjava.time
APIは?そうでない場合、私はそれを達成するために何ができるのでしょうか?私は、データベースをマップするために春ブーツや休止状態で、Javaの8を使用しています。
ernest_k:
java.time.Duration
あなたは値のwrontデータ型を使用しています。あなたは必要ですDuration
。Duration
の時間レベルでの対応がありますPeriod
。
時間の時間ベースの量など、'34 0.5秒。
Duration durationTaken = Duration.of(5, ChronoUnit.HOURS);
あなたは終了時間を計算するなど、日付の概念にそれを関連付けるしたい場合は、することができますplus
日付/時刻型への所要時間:
LocalTime endTime = test.plus(durationTaken); //02:14
そして、あなたがそれを行うことができLocalDateTime
、あまりにも。
LocalDateTime startTime = LocalDateTime.of(LocalDate.now(), test); //2019-02-07T21:14
//add the duration:
LocalDateTime endDate = startTime.plus(durationTaken); //2019-02-08T02:14