Vb.net 基于开始日期和结束日期生成季度

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

我试图生成一个表,其中包含基于开始日期和结束日期的所有季度。我已经编写了一个函数,但不幸的是没有正确计算四分之一。例如,我有: -开始日期: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 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我是新手,在这里发布之前,我已经使用了调试器。任何帮助都将不胜感激。