gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 10:46:53 24 4
gpt4 key购买 nike

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

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

最佳答案

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

Duration d1 = Duration.getInstance(13, TimeUnit.DAYS);
Duration d2 = Duration.getInstance(5, TimeUnit.DAYS);
Duration result = Duration.getInstance(d1.getDuration() - d2.getDuration(), TimeUnit.DAYS);

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

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 方法还有其他变体,允许您自己传递这些值。

关于java - 如何在 Java 中计算 2 个持续时间之间的数值差异(使用 mpxj 库)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48310134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com