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能用的计算方法。
比如工资是按月计算的,如下边那两人的说法,那我不得按天人家工资呀。所以肯定还是得按月来算。
展开
 我来答
网海1书生
科技发烧友

2013-09-16 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
说两个日期之间相差多少年多少月多少日,这本身就是不科学的,因为没法一眼看出两个日期之间相差的精确时间,比如相差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
百度网友fb55f35
2013-09-16 · TA获得超过579个赞
知道小有建树答主
回答量:1395
采纳率:50%
帮助的人:1249万
展开全部
还是以相差多少天最为标准!否则计算非常麻烦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式