比如有以下两个时间变量,我想计算一下这两个时间之间相差多少年。有ASP经验的朋友一定会想到DateDiff这个函数,这个函数可以计算两个时间相差的年数、月数、天数等。但我不知道大家有没有发现,这个函数在计算年数的时候,有一很重要的缺陷。比如date1="2012-12-31",而date2="2013-1-1",这两个时间实际只相差一天,但使用DateDiff("yyyy",date1,date2)得到的值为1,即相差1年。这明显不是我们想要的结果。

于是洪哥想重写一个函数,来计算两个时间之间相差的年数。我的原理是:先计算出两个时间相差的天数,再使用天数除以365,然后对结果进行四舍五入。

date1="2013-1-1"

date2="2014-7-3"

days = datediff("d",date1,date2)

msgbox CInt(days / 365)

好了,这样就得到比较靠谱的年差了。然后把它封装成一个函数,后面用起来比较方便点:

Function GetYearDiffer(date1, date2)

 GetYearDiffer = CInt(DateDiff("d", date1, date2)/365)

End Function

好了,这就差不多了。另外再多说两句,ASP的功能比较有限,很多时候都需要我们自己去改造一些函数来便于使用。这是一个积累的过程。

关于ASP计算两个时间相差多少年,本文就介绍这么多,希望对您有所帮助,谢谢!

03-15 07:52