例如,我想计算两个活动之间的持续时间差异。活动1的持续时间为13天。活动2的持续时间为5天。我知道Microsoft Project在使用持续时间进行操作时遇到了困难。提前感谢!
需要答案: 13-5 =8理想答案:8天
发布于 2018-01-18 18:10:08
如果两个持续时间具有相同的时间单位,则可以执行简单的减法:
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方法还有其他变体,允许您自己传递这些值。
https://stackoverflow.com/questions/48310134
复制相似问题