首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java中计算两个持续时间之间的数值差异(使用mpxj库)?

如何在Java中计算两个持续时间之间的数值差异(使用mpxj库)?
EN

Stack Overflow用户
提问于 2018-01-18 05:17:32
回答 1查看 78关注 0票数 1

例如,我想计算两个活动之间的持续时间差异。活动1的持续时间为13天。活动2的持续时间为5天。我知道Microsoft Project在使用持续时间进行操作时遇到了困难。提前感谢!

需要答案: 13-5 =8理想答案:8天

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-18 18:10:08

如果两个持续时间具有相同的时间单位,则可以执行简单的减法:

代码语言:javascript
复制
Duration d1 = Duration.getInstance(13, TimeUnit.DAYS);
Duration d2 = Duration.getInstance(5, TimeUnit.DAYS);
Duration result = Duration.getInstance(d1.getDuration() - d2.getDuration(), TimeUnit.DAYS);

如果您有不同的时间单位,则需要先进行转换:

代码语言:javascript
复制
Duration d1 = Duration.getInstance(13, TimeUnit.DAYS);
Duration d2 = Duration.getInstance(40, TimeUnit.HOURS);
Duration d3 = d2.convertUnits(TimeUnit.DAYS, project.getProjectProperties());
Duration result = Duration.getInstance(d1.getDuration() - d3.getDuration(), TimeUnit.DAYS);

在上面的示例中,第二个持续时间以小时为单位(假设每个工作日8小时),我们在计算差值之前将其转换为天数。请注意,我们将项目属性传递给convertUnits方法。这提供了一天中有多少小时的详细信息,等等,以便进行准确的转换。convertUnits方法还有其他变体,允许您自己传递这些值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48310134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档