关于日期计算的问题

类别:Asp 点击:0 评论:0 推荐:

 

碰到了关于日期计算的问题,解决了,发现好多朋友也有一样的问题
不知道大家解决了没有,我把我的方法贴出来,希望能给大家带来帮助
如果哪里写的不好,或者错误,不要笑话!!
我可是第一次发表自己的想法,,,心里斗争非常激烈。。。
===============================
为了大家好理解,用vbscript编写=
理解了,用什么都好写 :)_______=
===============================

<script language=vbscript>
function CountDate(That,NowDate)

''采用掐头去尾的方法计算两个日期的时间间隔
''日期计算 日期差 时间差 日期间隔 计算日期
''nowdate是目前的日期,that是某特定的日期
''nowdate月的总天数减去that月的总天数(有可能是负数)
''再加上中间每年的总天数,就是日期的间隔了
''通过对润年润月的计算,就更加精确了。
'=========================
'=小乖的想法[email protected]=
'=========================

days=0'初始化天数

  for i=1 to month(nowdate)-1'随月份增加天数
      select case i
        case 1,3,5,7,8,10,12'还记得小学一年级的数学吗?我就是背着写出来的,哈哈~~
        days=days+31'1,2,5,7,8,10,腊,有31天
        case 4,6,9,11
        days=days+30
        case 2
          if year(that)/4=int(year(that)/4) then days = days+29 else days=days+28
      end select
  next
 
 
  for i=year(that) to year(nowdate)-1'随年份增加天数
      if year(that)/4=int(year(that)/4) then
        days = days + 366
      else
        days = days + 365
      end if
  next
 

  for i=1 to month(that)-1'减去原来的
      select case i
        case 1,3,5,7,8,10,12
        days=days-31
        case 4,6,9,11
        days=days-30
        case 2'润月处理
          if year(that)/4=int(year(that)/4) then days = days-29 else days=days-28
      end select
  next

 
days=days+day(nowdate)-day(that)'该加的加,该减的减!

 
CountDate = days 

end function
msgbox countdate("10/2/00 11:33:25 PM",now)
</script>


======================================
如果对你有帮助,请给我加加分,谢谢谢谢!=
======================================

本文地址:http://com.8s8s.com/it/it9305.htm