在这里,我写了一个脚本,用于计算两个日期之间的付款金额(mm / yyyy)。
通常会分期付款 每月(12次) 每季度(4次) 半年(2次) 每年(一次)
我正试图从截止日期到达#34;"至"到期日"。 我可以正确计算会费数但无法计算 到达截止日期"
例如:
如果截止日期是11/2012 付款是季度的 然后与2016/06相同,最新到期日为05/2016
应付的总费用是15
我必须在11/2012到05/2016之间显示会费
在这里,我很难到达最新的到期日,即05/2016
这是我的代码:
curm = date +%m
;
CURY = date +%Y
;
awk -v curmt="$curm" -v curyr="$cury" 'BEGIN{FS="#"}{
mode=$10+0
fupy=substr($12,4,4)
fupm=substr($12,1,2)+0
prem=$11
if(mode==12){frequency=1}
if(mode==6 ){frequency=2}
if(mode==3 ){frequency=4}
if(mode==1 ){frequency=12}
if(fupm>6){ # here we are calculating revival dues as at 06/2016
months = (6+12-fupm) * frequency
years = ( curyr- 1 ) - fupy
instalments1 = (years * frequency)+1
fupyto = fupy+int(instalments1/frequency)
if(months>12){
instalments2=int(months/12)
fractionofmonths=(months-instalments2 * 12)/frequency
}else{
fractionofmonths=months/frequency
}
fupmto=fupm+instalments2
}else{
months = (6-fupm) * frequency
if(months <12){
years = curyr - fupy
instalments1 = (years * frequency) + 1
instalments2 = 0
fractionofmonths= months/frequency
}else{
years = curyr - fupy
instalments1 = (years * frequency)+1
instalments2 = int(months/12)
fractionofmonths = (months-instalments2 * 12)/frequency
}
fupmto=fupm+instalments2
}
totaldues=0
totaldues=instalments1+instalments2
instalments2=0
instalments1=0
fupto = fupmto"/"fupyto
..
..
..
some more code
}'
。 。 。 .. 还有一些代码
谢谢