如何在VB 中使用datediff计算某开始日期到结束日期之间的月数,并均分到每年在text1中输入200803-200907kssj = Left(Me.Text1.Text,4) & "- " & Mid(Me.Text1.Text,5,2) '开始时间jssj = Mid(Me.Text1.Text,8,4) & "- " & Mid(Me.T

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 19:51:32

如何在VB 中使用datediff计算某开始日期到结束日期之间的月数,并均分到每年在text1中输入200803-200907kssj = Left(Me.Text1.Text,4) & "- " & Mid(Me.Text1.Text,5,2) '开始时间jssj = Mid(Me.Text1.Text,8,4) & "- " & Mid(Me.T
如何在VB 中使用datediff计算某开始日期到结束日期之间的月数,并均分到每年
在text1中输入200803-200907
kssj = Left(Me.Text1.Text,4) & "- " & Mid(Me.Text1.Text,5,2) '开始时间
jssj = Mid(Me.Text1.Text,8,4) & "- " & Mid(Me.Text1.Text,12,2) '结束时间
yf = DateDiff("M",kssj,jssj)
结果是16,表示共有16个月,这个我明白
需要的结果是这样的:
1999年度 0 个月
2000年度 0 个月
...
2007年度 0 个月
2008年度 9 个月
2009年度 7 个月
2010年度 0 个月
2011年度 0 个月
求代码 追分200
并求同好交流
@回1楼的 用的mid得到的日期,在TEXT1输入的时候做有效性判断
补充下,另有Text2中的日期,也是如此计算,要求返回结果能同时得出text1和text2中的每年包含的月数
例如:
text1 输入 200104-200209 '计算结果为17个月
text2 输入 200405-200903 '计算结果为58个月
'手工输入的text1和text2,
要求得到结果:
1999年度 0 个月
2000年度 0 个月
2001年度 8 个月
2002年度 9 个月
2003年度 0 个月
2004年度 7 个月
2005年度 12个月
.
2008年度 12个月
2009年度 3 个月
2010年度 0 个月

如何在VB 中使用datediff计算某开始日期到结束日期之间的月数,并均分到每年在text1中输入200803-200907kssj = Left(Me.Text1.Text,4) & "- " & Mid(Me.Text1.Text,5,2) '开始时间jssj = Mid(Me.Text1.Text,8,4) & "- " & Mid(Me.T
Option Explicit
Private Sub Command1_Click()
dCount Text1.Text
dCount Text2.Text
End Sub
Private Sub Form_Load()
Text1.Text = "200803-200907"
Text2.Text = "200405-200903"
End Sub
Private Sub dCount(sStr As String)
Dim kssj As Date,jssj As Date
Dim yf As Integer,i As Integer
kssj = Left(sStr,4) & "-" & Mid(sStr,5,2) & "-01"
jssj = Mid(sStr,8,4) & "-" & Right(sStr,2) & "-01"
yf = DateDiff("m",kssj,jssj)
Print sStr & ":"
For i = 1999 To Year(Date)
If i >= Val(Year(kssj)) And i