d2:获取core.time.Duration中单位的完整计数

d2:获取core.time.Duration中单位的完整计数,d,D,我正在处理core.time.Durations-特别是,我正在尝试正确获取“2天1小时”中的完整分钟数Duration。清除后,get!“minutes”返回分钟数,但不返回小时、天和周数(例如,在本例中为0),因此对我来说不合适,因为我希望答案为2940 我查看了源代码并找到了core.time.getUnitsFromHNSecs函数,它完全满足了我的需要,但它是core.time的私有函数,并且使用Duration对象的私有字段\uHnsecs 当然,这是可能的 long minutes

我正在处理
core.time.Duration
s-特别是,我正在尝试正确获取“2天1小时”中的完整分钟数
Duration
。清除后,
get!“minutes”
返回分钟数,但不返回小时、天和周数(例如,在本例中为0),因此对我来说不合适,因为我希望答案为2940

我查看了源代码并找到了
core.time.getUnitsFromHNSecs
函数,它完全满足了我的需要,但它是
core.time
的私有函数,并且使用
Duration
对象的私有字段
\uHnsecs

当然,这是可能的

long minutes_in_duration(Duration d) {
    return (d.get!"minutes"() + d.get!"hours"() * 60 + 
            d.get!"days"() * 24 * 60 + d.get!("weeks") * 7 * 24 * 60);
}

但这太笨拙了。有没有更好的方法在不分散
持续时间
的胆量的情况下做同样的事情?

通过源代码进行更彻底的阅读
.total!“unit”
属性,该属性的作用正好是它应该做的。

是。文档中解释了
get
total
:另外,当您找到答案时,请将其标记为您选择的答案,以便该问题不再被列为未回答的问题。@Jonathan,站点引擎阻止在发布问题后不到2天内接受自己的答案。啊。好吧,然后你应该接受它,假设没有其他人能提供更好的答案,但我不知道他们怎么能,因为这是多么简单。当然我会的,一旦堆栈溢出允许我:)