版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
Oracle JDE专栏收录该内容
22 篇文章0 订阅
订阅专栏
1判断闰年(能被4整除)
2判断租赁月破月逻辑
(1)结束月份是2月份并且开始日是1号或者30号或者31号这时候整月的情况是闰年结束日是29号平年结束日是28号,其他结束日都是破月;
如果开始日不是1号和30号和31号,这时候整月的情况是结束日=开始日-1,其他结束日都是破月。
(2)结束月份不是2月份,如果开始日是1号,这时候结束月份属于(1,3,5,7,8,10,12)时候,整月的情况是结束日是31号(其他结束日都是破月),否则整月的情况是 结束日是30号(其他结束日都是破月);
如果开始日不是1号,这时候整月的情况是结束日=开始日-1,其他结束日都是破月。
3 算月租金
如果按月计算 那么表里面存的租金就是月租金,如果按季计算 那么表里面的租金就是3个月的租金,这时候月租金=租金/3;
4 算总租金
(1)如果是整月,那么总租金=月租金*月份数;
(2)如果是破月,那么总租金=月租金*(月份数-1)+最后一个月的实际天数*(最后一个月每天的租金);
注:破月最后一个月的租金计算逻辑(1)如果开始日期的月份和结束日期的月份相同,那么总天数就是这个月份的天数(结束月份是1,3,5,7,8,10,12时总天数是31天;
结束月份是4,6,9,11时总天数是30天;结束月份是2时闰年总天数29天,平年总天数28天。),实际天数=结束日期的日-开始日期的日+1
(2)如果开始日期是1号,那么总天数就是结束日期所在月份的天数,实际天数就是结束日期的日;
(3)其他情况1,如果结束日期的日>(开始日期的日-1),比如5/7-7/8(8>6),总天数就是7/8到8/8的总天数减去1,实际天数就是结束日期的日-开始日期的日+1;
其他情况2,如果结束日期的日