私はアクティビティのリスト(アクティビティ)を持っており、期間や期間ではないMap(String, DateTime)
(DateTime
の形式)のデータ構造を決定したいと考えています。各アクティビティについて、モニタリング期間にわたって合計継続時間が計算されます。ストリーム内の参照メソッドにパラメータを送る方法(java 8)?
アクティビティのクラスは、activityLabel(String)
,startTime(DateTime)
、endTime(DateTime)
です。私はjoda
時間を使います。 これは私がやっていることです:
Map<String, DateTime> durations = activities.stream().collect(Collectors.toMap(
it -> it.activityLabel,
it ->new DateTime(0,0,0,0,0,0)
//,DateTime::plus
));
私はDateTime plus(ReadablePeriod period)または DateTime plus(ReadableDuration duration)使用する必要があると思いますが、私はメソッド参照に型持続時間や期間のパラメータを送信する方法がわかりません。
この結果はどのように達成できますか?
EDIT:入力の場合:
2011-12-04 3時00分00秒2011スリーピング
2011-12-03午前一時00分00秒2011年12月3日午前9時00分00秒-12-04午前10時30分00秒私は出力を持っている必要があり
スリーピング:0-0-0午後3時30分00秒(年、月、日、時間、分、秒)
なぜプラス?あなたは 'endTime - startTime'をやってはいけないのですか? – Eugene
DateTimeを使ってどのように期間を表現するのか分かりません。 2017年5月21日のニューヨークタイムゾーンでの期間は、まったく期間ではありません。 –
私はプラス(endTime-startTime)を意味します – SomeoneNew