asp如何计算两个日期间的年月日差。
dqtimecztime一个出租日期,一个到期日期。现在要求计算出这两个日期间相差多少年多少天,以下为我自己写的。这样的计算结果就出在当一个月为30天和31天之间产生差距...
dqtime cztime 一个出租日期,一个到期日期。
现在要求计算出这两个日期间相差多少年多少天,以下为我自己写的。
这样的计算结果就出在当一个月为30天和31天之间产生差距。
比如2013年9月30到2013年12月31日之间的时间一样,正常的话这个是相差3个月又一天,可是按我下边的计算方式会得3个月又两天,,
kk=DateDiff("m",cztime,dqtime)
tt=DatePart("d",dqtime)-DatePart("d",cztime)+1
if DatePart("d",dqtime)-DatePart("d",cztime)+1<0 then
kk=kk-1
天 tt=DateDiff("d",dqtime,DateAdd("m",1,dqtime))+tt
end if
年 yy=int(kk/12)
月 mm=kk Mod 12
求大使给个asp能用的计算方法。
比如工资是按月计算的,如下边那两人的说法,那我不得按天人家工资呀。所以肯定还是得按月来算。 展开
现在要求计算出这两个日期间相差多少年多少天,以下为我自己写的。
这样的计算结果就出在当一个月为30天和31天之间产生差距。
比如2013年9月30到2013年12月31日之间的时间一样,正常的话这个是相差3个月又一天,可是按我下边的计算方式会得3个月又两天,,
kk=DateDiff("m",cztime,dqtime)
tt=DatePart("d",dqtime)-DatePart("d",cztime)+1
if DatePart("d",dqtime)-DatePart("d",cztime)+1<0 then
kk=kk-1
天 tt=DateDiff("d",dqtime,DateAdd("m",1,dqtime))+tt
end if
年 yy=int(kk/12)
月 mm=kk Mod 12
求大使给个asp能用的计算方法。
比如工资是按月计算的,如下边那两人的说法,那我不得按天人家工资呀。所以肯定还是得按月来算。 展开
2个回答
展开全部
说两个日期之间相差多少年多少月多少日,这本身就是不科学的,因为没法一眼看出两个日期之间相差的精确时间,比如相差8年7个月16天,究竟是多少天?年有平年、闰年,月有大月、小月、闰月,怎么算?所以标准的做法就是计算相差多少天即可!
如果真要算年月日差,那么应该对年对月对日计算才合理(即年减年、月减月、日减日,以前银行手工计算活期利息的时候就是这样的),这样就可以忽略大月小月闰月的问题,比如:
yy=year(dqtime)-year(cztime)
mm=month(dqtime)-month(cztime)
tt=day(dqtime)-day(cztime)
if tt<0 then
tt=tt+30
mm=mm-1
end if
if mm<0 then
mm=mm+12
yy=yy-1
end if
如果真要算年月日差,那么应该对年对月对日计算才合理(即年减年、月减月、日减日,以前银行手工计算活期利息的时候就是这样的),这样就可以忽略大月小月闰月的问题,比如:
yy=year(dqtime)-year(cztime)
mm=month(dqtime)-month(cztime)
tt=day(dqtime)-day(cztime)
if tt<0 then
tt=tt+30
mm=mm-1
end if
if mm<0 then
mm=mm+12
yy=yy-1
end if
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询