Vb.net 基于开始日期和结束日期生成季度
我试图生成一个表,其中包含基于开始日期和结束日期的所有季度。我已经编写了一个函数,但不幸的是没有正确计算四分之一。例如,我有: -开始日期:2018年6月1日 -结束日期:2019年3月1日 我的函数生成Q2、Q3、Q4,并且正常且正确地应生成Q2、Q3、Q4、Q1 有人有暗疮吗 谢谢大家! 以下是我的功能:Vb.net 基于开始日期和结束日期生成季度,vb.net,Vb.net,我试图生成一个表,其中包含基于开始日期和结束日期的所有季度。我已经编写了一个函数,但不幸的是没有正确计算四分之一。例如,我有: -开始日期:2018年6月1日 -结束日期:2019年3月1日 我的函数生成Q2、Q3、Q4,并且正常且正确地应生成Q2、Q3、Q4、Q1 有人有暗疮吗 谢谢大家! 以下是我的功能: Private Function calculateQuartars(ByVal startDate As Date, ByVal endDate As Date) As Collecti
Private Function calculateQuartars(ByVal startDate As Date, ByVal endDate As Date) As Collection
Dim iDate As Date, i As Integer
Dim quartal As String
Dim quartalListe As Collection
iDate = startDate
i = 0
Set quartalListe = New Collection
If (IsDate(startDate) And IsDate(endDate)) Then
Do
quartal = "Q" & DatePart("q", iDate) & " " & DatePart("yyyy", iDate)
quartalListe.Add quartal, "Q" & i
iDate = DateAdd("m", 3, iDate)
i = i + 1
Loop While iDate < endDate
Else
quartal = ""
quartalListe.Add quartal, "Q" & i
End If
Set calculateQuartars = quartalListe
End Function
Private Function calculateQuartars(ByVal startDate作为日期,ByVal endDate作为日期)作为集合
Dim iDate作为日期,i作为整数
暗四分音符作为弦
Dim Quartaliste As系列
iDate=起始日期
i=0
Set quartalListe=新集合
如果(IsDate(开始日期)和IsDate(结束日期)),则
做
quartal=“Q”和日期部分(“Q”,iDate)以及“&日期部分(“yyyy”,iDate)
四分之一。添加四分之一,“Q”和i
iDate=日期添加(“m”,3,iDate)
i=i+1
在iDate
问题出在下面一行
在iDate时循环
如果日期相等,则循环退出
换成
在iDate时循环我解决了它
如果(IsDate(开始日期)和IsDate(结束日期)),则
做
quartal=“Q”和日期部分(“Q”,iDate)以及“&日期部分(“yyyy”,iDate)
iDate=日期添加(“m”,1,iDate)
如果LastQuartal=quartal,则
否则
quartal=“Q”和日期部分(“Q”,iDate)以及“&日期部分(“yyyy”,iDate)
四分之一。添加四分之一
最后四分之一=四分之一
如果
循环而iDate看起来像是一个家庭作业,使用调试器来查看发生了什么,似乎很简单:-)我投票结束这个问题,因为它是家庭作业,可以使用调试器来逐步解决它。@Svend我是新手,在这里发布之前,我已经使用了调试器。任何帮助都将不胜感激。