我有一个活动列表(Activity),我想确定表单的数据结构Map(String, DateTime)
(不是持续时间或期间;DateTime
这是必须的)映射。对于每项活动,在监控期间计算的总持续时间。
班级活动有:activityLabel(String)
, startTime(DateTime)
, endTime(DateTime)
. I use 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 周期) http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html#plus(org.joda.time.ReadablePeriod) or DateTime plus(ReadableDuration 持续时间) http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html#plus(org.joda.time.ReadableDuration),但我不知道如何将 Duration 或 period 类型的参数发送到方法引用。
我怎样才能达到这个结果?
编辑:对于输入:
2011-12-03 01:00:00 2011-12-03 9:00:00 睡觉
2011-12-04 03:00:00 2011-12-04 10:30:00 睡觉
我应该输出: Sleeping 0-0-0 15:30:00 (年、月、日、小时、分钟、秒)