我有定义自定义财务日历的场景。有时一个月可以是 28 天,有时也可以是 35 天。每个月的开始时间都不一样。(可以从10/15/20th开始)
为了引用哪个日历日期指的是哪个财务日期,我定义了一个具有以下列结构的表:
在上表中,您可以看到它fiscalmonth
P1
指的是日期 20190125。(可能fiscalmonth-P1
是从20190115
到20190215
该表在数据库中。我正在研究 java 部分以创建功能,该功能将Periodbetween
根据提供的两个会计日期(将参考yyyymmdd
上表的列)返回对象以发挥作用。
public class PeriodBetween {
private int days;
private int weeks;
private int months;
private int quarters;
private int years;
//getters & setters
}
此periodBetween
对象提供有关这两个日期之间的天数/周数/月数/季度数的更多信息。
public PeriodBetween between(int startDate, int endDate)
我正在寻找一些东西来构建,比如 Javajava.time.Period.between
函数中的东西。但无法通过参考上面定义的表格来获得我可以使用的最佳方法。
让我知道这样的东西是否已经存在,或者除了使用Financial Calendar
表之外还有其他方法。
更新:有时日历 cab 为 28 天或 35 天的场景取决于客户遵循的日历。因此,根据客户的不同,Financial Calendar Table
将被填充。
财政日历是不可预测的。它将根据要求预先填充在表格中。是的,Fiscal Calendar Table
以下是 52 周和 52 周的支持。因此,为了让您有更高层次的想法,表格将根据客户使用的自定义日历类型进行填充。
我现在如何定义我的日历?从客户那里获得他们希望如何定义日历的要求。使用它我正在填充上面提到的表格并在任何地方使用该表格。所以让我们在财务日历上说我想知道什么是3rd day of P3 month on Financial year 2018
. 然后我对该表的查询将是提取这一天的更多信息:select * from financial_calendar where fiscaldayofmonth=3 and fiscalmonth=P3 and fiscalyear=Financial Year 2018
我计算两个日期之间月数的想法是使用两个日期之间的子句从表中提取信息并将数据大小除以 30。这是不正确的。