【发布时间】:2009-08-10 09:38:31
【问题描述】:
我有数学问题...(目前我使用手动迭代解决了它,这很慢)...
例如,如果员工在特定日期每周(可以是每两周/每 2 周和每月)获得报酬(假设该员工在每个星期二获得报酬,而每月员工在特定日期获得报酬)。
我的日期范围在 2009 年 8 月 10 日至 2009 年 12 月 31 日之间,现在如何获取员工获得报酬的频率?
是否可以使用 jodatime 进行计算?
举例说明这个问题:
我的日期范围介于 2009 年 8 月 14 日星期五至 9 月 14 日星期一(31 天)之间 该员工在每个星期二获得报酬 所以他在 8 月 18 日和 25 日、8 月 1 日和 8 日收到了付款,我们收到了 4 次付款 (频率)
另一个例子:
日期范围相同2009 年 8 月 14 日星期五至 9 月 14 日星期一(31 天) 但不同的付款日期.. 例如 星期日
所以他在 8 月 15 日、22 日和 29 日、9 月 5 日和 12 日...我们收到了 5 次付款。
相同的日期范围但不同的发薪日..会产生不同的结果。
所以我的问题是,有什么公式可以解决这种情况吗? 目前我使用手动迭代器进行计算.. 这非常慢(因为范围可能是几年或几个月)
谢谢
ps:我正在使用 groovy .. 欢迎任何使用 java 或 groovy 或仅算法的解决方案 :)
【问题讨论】:
-
我不明白你想做什么。告诉我们您将采取的手动步骤。您必须使用比这两个日期(8 月 10 日和 12 月 31 日)更多的信息 它是什么?正确的答案是什么。
-
好的 .. 我将编辑我的问题并提供清晰的示例
-
频率是什么意思?
-
@max:特定日期范围内的付款频率。我提供了新的例子。请检查一下。