早教吧作业答案频道 -->其他-->
如何在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 个月
在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 个月
▼优质解答
答案和解析
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
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
看了如何在VB中使用datedif...的网友还看了以下:
已知:如图BE、CF是三角形ABC的两条高,M为BC的中点,分别连ME、MF 求证:(1)ME=B 2020-05-17 …
limx->无穷,x*(e^(1/x)-1)我知道答案是用洛比达法则求导分子e^(1/x)-1求导 2020-06-27 …
在长方体ABCD-A1B1C1D1中,AD=1,AA1=1=AB=2点E是AB上的动点,点M为D1 2020-07-09 …
ABCDEF六人进行象棋比赛,每人赛了3局,胜一局2分,平一局1分,负一局0分.已知A胜3局,B负 2020-07-20 …
2道不定积分∫xexp(x^2+1)dx∫(6x^2-8x)exp(2x^3)/exp(4x^2) 2020-07-23 …
求证:0-1分布,E(s*^2)=p(1-p)s*^2为修正样本方差 2020-08-02 …
已知:MN是圆O的弦,AB是圆O的直径,AB垂直MN,垂足为p,半径OC,OD分别交MN于E,F,且 2020-11-01 …
排列成正确的句子:me,I,go,excuse,haveto.排列成正确的单词:1.c,d,e,s, 2020-11-01 …
已知M,N,P三点的坐标分别为(-1,0),(3,-1),(1,2),并且向量ME=3分之1向量MP 2020-12-15 …
函数的连续及判断(e^x分之1)-e^-x分之1)/(e^x分之1+e-x分之1)=(e^x分之2) 2020-12-17 …