dim n as integer
目前成都创新互联公司已为成百上千家的企业提供了网站建设、域名、网络空间、网站托管、服务器托管、企业网站设计、博白网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
n=2009
if n mod 4 0 then
print "这个月有28天"
else
if n mod 100 = 0 then
if n mod 400 = 0 then
print "这个月有29天"
else
print "这个月有28天"
emd if
else
"这个月有29天"
end if
end if
datestr=now() '取当前系统日期
sday=year(datestr)"-"month(datestr)"-1" '当前月第一天
eday=DateAdd("m", 1, sday) '增加一个月时间
eday=DateAdd("d", -1, eday) '减去一天就是月末日期
eday=day(eday) '得到当月天数
在应用开发中,开发人员经常要进行各种各样的日期处理。如果你需要一种简单的方法来计算出给定两个日期间的天数,不妨考虑使用VB.NET中的TimeSpan对象。 列表A向你演示了如何使用TimeSpan对象来获得两个日期间的时间值。今后,你可以使用Subtract方法来获得两个日期间的实际天数。 关于列表A的一些说明 首先,我们声明一个Date类型的变量dtStartDate,并赋初值为2007年一月一日。同时,还声明了其它一些将会用到的变量,包括:TimeSpan的一个实例tsTimeSpan,整型数iNumberOfDays,字符串型变量strMsgText。设定变量tsTimeSpan的值为当前日期/时间值与dtStartDate值得差。 为了计算出当前日期/时间(Now)与dtStartDate之间的天数,我们使用TimeSpan对象的Days属性,设定它的值为iNumberOfDays 。查看本文来源
算法的思路:
1,要获得一年中各个月的天数,这样就要判断平年还是闰年,好在你这里不需要2月份的天数。所以预先定义:
月份 天数
8月 31
9月 30
10月 31
11月 30
12月 31
1月 31
2,找规律:
在 9月12日 那一行的天数是: 8月的天数31-12+12=31
在10月12日 那一行的天数是: 9月的天数30-12+12=30
在11月12日 那一行的天数是:10月的天数31-12+12=31
在12月12日 那一行的天数是:11月的天数30-12+12=30
在 1月12日 那一行的天数是:12月的天数31-12+12=31
在 2月12日 那一行的天数是: 1月的天数31-12+12=31
3,归纳:
1,每个月12日那一行,统计的天数,是上一月的整个月份的总天数。
2,注意:平年与闰年的2月份的天数不一样分别为28和29天。
通过分析,寻找规律,问题就变得很简单了。
Dim yd(6) As Integer
Dim i As Integer
yd(1) = 31 '8月份的总天数
yd(2) = 30 '9月份的总天数
yd(3) = 31 '10月份的总天数
yd(4) = 30 '11月份的总天数
yd(5) = 31 '12月份的总天数
yd(6) = 31 '1月份的总天数
For i = 1 To 6
Print yd(i)
Next i
Private Sub Form_Click() '点击窗体运行
Dim yy As Integer, mm As Integer
yy = Int(Val(InputBox("请输入年份")))
mm = Int(Val(InputBox("请输入月份")))
If mm 0 And mm 13 Then
MsgBox yy "年" mm "月共有" Day(DateSerial(yy, mm + 1, 0)) "天"
Else
MsgBox "输入有误!"
End If
End Sub