Private Function getDay(ByVal y As Long, m As Long) getDay = DateSerial(y, m + 1, 1) - DateSerial(y, m, 1) End Function
取得已知月的最后一天: DateDiff("d",-1,DateSerial(y,M+1 ,1)) y 为已知年 m 为已知月
dim i as integer '最大天数 select case 月数 case 1,3,5,7,8,10,12 i = 31 case 2 '判断闰年 if 年份 mod 4 > 0 then i = 29 else i = 28 endif case else i = 30 end select
if 年份 mod 4 > 0 then i = 28 else i = 29 endif '写错了。纠正一下
DateDiff("d", "已知年-某月-1", "已知年-某月+1-1") 某月<12或DateDiff("d", "已知年-(某月-1)-1", "已知年-某月-1") 某月>12说简单点就是比较两个月的1号之间的天数
求2003年3月和12月的最大天数Days3= DateDiff("d", "2003-3-1", "2003-4-1")Days12= DateDiff("d", "2003-12-1", "2004-1-1")如要判断某月是不是为 12月
getDay = DateSerial(y, m + 1, 1) - DateSerial(y, m, 1)
End Function
DateDiff("d",-1,DateSerial(y,M+1 ,1))
y 为已知年
m 为已知月
select case 月数
case 1,3,5,7,8,10,12
i = 31
case 2
'判断闰年
if 年份 mod 4 > 0 then
i = 29
else
i = 28
endif
case else
i = 30
end select
i = 28
else
i = 29
endif
'写错了。纠正一下
debug.print dateSerial(2003,3,0) 返回2003年2月的最后一天
2003-2-28