一种用于计算计提到期日的方法技术

技术编号:37123525 阅读:28 留言:0更新日期:2023-04-01 05:19
本发明专利技术涉及金融计算技术领域,公开了一种用于计算计提到期日的方法,包括根据用户办理的产品所对应的结息频率,配置对应的增强型cron表达式;所述增强型cron表达式在保留原特殊符号的前提下新增一种特殊符号!,所述特殊符号用于支持日期变量;在计算该用户所办理的产品的下一结息日时,获取增强型cron表达式中的cron配置,并判断表达式是否存在动态配置特殊符号!;若存在,则获取计算该用户所办理的产品的上一结息日所对应的日期,并将对应的日期替换特殊符号!,并计算出对应的下一结息日。并计算出对应的下一结息日。并计算出对应的下一结息日。

【技术实现步骤摘要】
一种用于计算计提到期日的方法


[0001]本专利技术涉及金融计算
,具体涉及一种用于计算计提到期日的方法。

技术介绍

[0002]在银行中,客户办理了对应产品之后例如存款,对应都会产生相应的利息,这就使得银行大多情况下都会涉及到结息日的计算,以及达到结息日之后利息的计算。
[0003]现有的银行结息日的计算通常都是采用配置频率枚举的方式,这就使得客户在办理好对应的产品之后对应的结息频率大多都是固定不变的,例如会存在每季度21号结息的结息频率,这就使得在客户结息时不管对应的计算结息日所在的日期是何时,对应的结息日通常都是会在距离计算结息日所在日期最近的下一个季度的21号进行结息,而如果想要新增一个新的结息频率进行结息的产品时,每增加一种结息频率都需要开发出对应代码进行支持。例如想要在每个季度的20号进行结息,那么就需要新增对应的代码处理逻辑,即重新进行每季度20号结息的表达式的定义,这样整个过程就十分的不灵活,无法实现根据指定日期计算下一个结息日。
[0004]基于此,需要一种用于计算计提到期日的方法,能够根据指定日期计算下一结息日,实现结息频率的动态调整,使得计算结息日更加的灵活。

技术实现思路

[0005]本专利技术意在提供一种用于计算计提到期日的方法,能够根据指定日期计算下一结息日,实现结息频率的动态调整,使得计算结息日更加的灵活。
[0006]为达到上述目的,本专利技术采用如下技术方案:一种用于计算计提到期日的方法,包括以下步骤:
[0007]S1、根据用户办理的产品所对应的结息频率,配置对应的增强型cron表达式;所述增强型cron表达式在保留原特殊符号的前提下新增一种特殊符号!,所述特殊符号用于支持日期变量;
[0008]S2、在计算该用户所办理的产品的下一结息日时,获取增强型cron表达式中的cron配置,并判断表达式是否存在动态配置!,若存在,则设置读取变量标识,并解析对应的表达式,反之,则不设置读取变量标识,也进行表达式的解析;
[0009]S3、判断是否读取变量标识,若是,则获取计算该用户所办理的产品的上一结息日所对应的日期,并将对应的日期替换动态配置!然后计算出对应的下一结息日;若否,则获取计算该用户所办理的产品的上一结息日所对应的日期,计算出对应的下一结息日。
[0010]本方案的原理及优点是:在本方案中,在客户进行相应的产品办理时,会根据客户所对应的结息频率进行配置对应增强型cron表达式,例如客户没有其他要求,那么在对应的产品办理之后,对应的结息就会使用比较常见的每季度21号进行结息,即3、6、9、12月的21号这一天进行结息,而如果客户可能存在动态变化的,那么在一开始就会进行相应的动态配置,即进行相应新增符号!来替代对应的月、日,例如!
*
?,这就代表着自开户日起,每月
结息,但是在这里对应的每月几号进行结息是不固定的。
[0011]之后,在客户需要进行下一结息日的计算时,就会根据客户产品所对应的增强型cron表达式,获取其中的cron配置,然后对表达式是否存在动态配置!进行判断,如果存在的话,就会设置读取变量标识,然后解析对应的表达式,而如果不存在的话,就会直接进行表达式的解析,在解析完成之后,就会对是否读取变量值进行判断,如果是,则就会将计算该用户办理的产品的上一结息日所对应的日期与动态配置!进行替换,例如对应的日期为2022

11

01,那么01就会替换对应的!,也就是说对应的表达式由!
*
?变为1
*
?,这样对应的下一结息点就会变为2022

12

01,这样也就实现了对结息日的动态调整,而如果判断结果为否的话,就会直接根据表达式进行下一结息点的计算,例如对应的日期还是2022

11

01,而对应的表达式为:21 3,6,9,12?,那么对应的下一结息日就会输出2022

10

21,当然如果日期是2022

11

21,对应的输出结果还是2022

10

21。
[0012]相比现有技术中新增结息频率,通常都是需要新增对应的代码处理逻辑,十分不灵活,增加了对应的开发测试工作量,也增加的上线风险,同时不能快速的给予客户反馈,在申请中通过对cron表达式的改变,即新增符号!,以此来实现对应的指定日期计算下一个结息日,在新增对应的结息频率时,能够更加的灵活,对应的开发测试工作量也大大减低。
[0013]进一步的,所述增强型cron表达式还新增另一种特殊符号+,所述特殊符号位于增强型cron表达式中的日期所在位置;
[0014]所述计算出对应的下一结息日包括以下步骤:
[0015]判断增强型cron表达式中是否存在特殊符号+,若存在,则判断下一结息日存在顺延;
[0016]在判断结果为下一结息日存在顺延时,则对增强型cron表达式中的月份所在位置进行判断,判断月份所在位置是否强制限定月份,若否,则判断出对应的结息日按天执行,并计算出下一个按天执行的结息日;若是,则判断对应的结息日会进行顺延,并计算出下一个顺延的结息日。
[0017]有益效果:在本方案中,通过新增特殊符号+实现了按天执行的逻辑,具体的,对应的新增的特殊符号+是在日所在的配置位上,即日所在的位置处,例如!+5
*
?,在完成对!的判断之后,对应的!就会被替换,然后就会对+进行识别判断,要是存在+,就说明对应的结息日会出现顺延,例如向后顺延5天,之后就会对增强型cron表达式中的月份所在的位置是否强制限定月份,例如在!+5*?中就没有对月份进行限定,而21+5 3、6、9、12?这就限制了对应的月份必须是3、6、9、12月,对应的日期必须是21+5,对于这种限定了月份的,那么在计算下一结息日的时候,会根据计算出来的结果进行顺延5天,而对于没有限定月份的,那么对应的结息日就会按天进行执行,例如计算节点为11月2号,那么在!+5
*
?表达式中,对应的结息日就会按照11月7号、11月12号等每五天执行一次的方式持续下去。
[0018]与现有技术中cron表达式无法实现每n天执行一次的配置,本申请通过在日期配置位上新增特殊符号+不仅实现了每n天执行一次的逻辑,使得表达式的结息频率更加的丰富和多变,这样对应的使用场景也会更加的丰富,客户的体验感也会更好,同时也实现了对于限定好的结息频率的调整,大大提高结息频率变化的可能性。
附图说明
[0019]图1为本专利技术实施例一中用于计算计提到期日的方法的流程图。
具体实施方式
[0020]下面通过具体实施方式进一步详细说明:
[0021]实施例基本如附图1所示:一种用于计算计提到期日的方法,包括以下步骤:
[0022]S1、根据用户本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于计算计提到期日的方法,其特征在于:包括以下步骤:S1、根据用户办理的产品所对应的结息频率,配置对应的增强型cron表达式;所述增强型cron表达式在保留原特殊符号的前提下新增一种特殊符号!,所述特殊符号用于支持日期变量;S2、在计算该用户所办理的产品的下一结息日时,获取增强型cron表达式中的cron配置,并判断表达式是否存在动态配置特殊符号!,若存在,则设置读取变量标识,并解析对应的表达式,反之,则不设置读取变量标识,也进行表达式的解析;S3、判断是否读取变量标识,若是,则获取计算该用户所办理的产品的上一结息日所对应的日期,并将对应的日期替换特殊符号!,并计算出对应的下一结息日;若否,则获取计算该...

【专利技术属性】
技术研发人员:周曦吕金平
申请(专利权)人:重庆富民银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1