早教吧作业答案频道 -->其他-->
如何在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...的网友还看了以下:
中国平均每年收入3000美元,美国平均每年9000美元,中国每年增长%10,美国每年增长%2,问过 2020-06-27 …
2,当政府把10亿元用于修建一条高速公路时,每年收益为1亿元,这时,这条高速公路的机会成本是()A 2020-06-28 …
有4种债券abcd,面值均为1000元期限都是3年,其中债券a以单利每年付息一次,年利为百分之8, 2020-06-30 …
中国平均每年收入3000美元,美国平均每年9000美元,中国每年增长%10,美国每年增长%2,问什 2020-07-17 …
财务管理的作业题在18年中每年存入银行一笔等额存款,第18年末的本利和恰好保证以后10年每年提款1 2020-07-23 …
某工程项目计划3年完成,3年中每年年初分别贷款1000万元,年利率8%,若建成后分三年每年年末等额 2020-07-23 …
公元纪年法中,每四年含一个闰年,每个平年有365天,每个闰年有366天,2012年是闰年,元旦是星 2020-07-24 …
某公司近三年每年的资金投入总额与每年利润统计图如下,其中利润率=利润÷资金投入总额×166%.已知f 2020-12-31 …
某公司近三年每年的资金投入总额与每年利润统计图如下,其中利润率=利润÷资金投入总额×100%.已知2 2020-12-31 …
某公司近三年每年的资金投入总额与每年利润统计图如下,其中利润率=利润÷资金投入总额×100%.已知2 2020-12-31 …