gpt4 book ai didi

ruby-on-rails - 从不同实例中查找时间总和

转载 作者:太空宇宙 更新时间:2023-11-03 16:59:22 25 4
gpt4 key购买 nike

我有一个名为 WorkInterval 的模型,它的记录基本上包含:

start_date, end_date

我希望能够获得特定任务的所有 WorkIntervals(我知道如何处理关联)并获得花费的总时间。因此,对所有实例的 end_date 和 start_date(end_date - start_date)之间的所有差异进行聚合(加法)。

现在我可以这样做:

@task.work_intervals -> 这给了我所有的 work_intervals,但我怎样才能以一种干净的 ruby​​ 方式获得在该任务上花费的时间总和?

注意事项:
1 - end_date 和 start_date 都是 DateTime
2 - 某些实例的结束日期可能为 NIL,如果是这种情况,则应采用当前日期时间。

最佳答案

@task.work_intervals
.map {|i| (i.end_date || Time.now).to_time - i.start_date.to_time }
.reduce(:+)
# => total in seconds

关于ruby-on-rails - 从不同实例中查找时间总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15955097/

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