如何根据给定的两个日期划分日期

时间:2017-04-17 14:00:39

标签: java database spring java-ee jdbc

我有一个场景,我必须更新记录记录,如果记录存在于数据库中,并且有效和过期日期分割逻辑。

例如,以下记录已在数据库中提供。

Item  tax   effectiveStartDate   effectiveEndDate
1      5%   17-04-2017           31-12-2047

现在我想用给定的有效开始日期和税率来更新记录。

例如,我已经给出了两个税率6%的日期,然后我需要更新记录(如果它存在)。以下是输入:

effective start date: 17-04-2017;
effective end date: 31-12-2047`;

 item : 1
 tax  : 6 %

现在记录已经存在,现在我想要的是,我必须调整生效日期和到期日期,20-05-2017和31-12-2019。输出应该如下:

Item  tax   effectiveStartDate   effectiveEndDate
1      5%   17-04-2017           19-05-2017
1      6%   20-05-2017           31-12-2047   

如果我再给出一些其他日期,应该像上面那样进行调整。在我的POC中,我正在使用带有我正在使用的JDBC模板的spring MVC。有人可以帮我解释这个逻辑吗?

1 个答案:

答案 0 :(得分:1)

据我所知,如果您获得第1项的其他税值(10%f.e。),则必须更新数据库中的所有条目,不是吗?

如果这是问题所在,请尝试将所有这些内容放入List并执行以下操作:

//get all from DB

for(YourObject obj : List){
    if(obj.effectiveFinalDate<newObject.effectiveStartDate){
        obj.effectiveFinalDate = newObject.effectiveStartDate;
    }
    if(obj.effectiveStartDate>newObject.effectiveFinalDate){
        obj.effectiveStartDate = newObject.effectiveFinalDate;
    }
}

//persist all

我完全不确定你想要什么,但我猜它会与此相似

编辑:如果您想将日期设置为或多或少,请查看文档,这取决于您使用的对象作为日期