1

设想。我有一个月份(1-12)和年份(MMYYYY)格式的下拉列表。
开始日期:月(1-12)和年(MMYYYY)格式
结束日期:月(1-12)和年(MMYYYY)格式

如果我选择 START DATE : 10/2018 (那么开始日期是有效的)开始日期不应该超过 5 年(基于当年) 那么“END DATE”应该是 End DATE : 10/2018 (这是有效)结束日期不应超过开始日期的 5 年。

问题:

  • 如何验证 MonthSTART DATE : 10/2018

    • 结束日期 : 10/2018
  • 我如何验证季度

    • 开始日期:01/2018
    • 结束日期:03/2018。
    • 季度(一月至三月,四月至六月,七月至九月,十月至十二月)
  • 如何验证半年

    • 开始日期:01/2018
    • 结束日期 : 06/2018
    • 半年度(1 月至 6 月,7 月至 12 月)
  • 我如何验证年度

    • 开始日期:01/2018
    • 结束日期:12/2018

上面的问题将与我在下面的解释相匹配

  1. 每月 - 每当用户选择开始日期(距当前日期不应超过 5 年)

    • 例如开始日期:10/2016 结束日期应为 END DATE:10/2016。 有效的
  2. 每季 - 3 个月。如果用户将输入 START DATE : 10/2016 结束应该是 END DATE : 10/2016有效

  3. SEMI ANNUAL - 6 MONTHS 如果用户输入 START DATE : 10/2016 结束应该是 END DATE : 03/2016有效

  4. ANNUAL - 12 MONTHS 如果用户输入 START DATE : 01/2016 结束应该是 END DATE : 12/2016有效

  5. 否则 无效

输出:有效无效

请看下面的代码

Dim dateStart As Date=New Date(ddl_dateStartYear.SelectedValue,ddl_dateStartMonth.SelectedValue, 1)
Dim dateEnd As Date = New Date(ddl_dateEndYear.SelectedValue, ddl_dateEndMonth.SelectedValue, 1)
' Today check
If dateEnd > DateTime.Now.AddYears(5) Then
    ' Invalid
End If
' Five year check
If dateStart.AddYears(5) > dateEnd Then
    ' Invalid
End If
4

1 回答 1

1
                    If dateStart = dateEnd Then
                        'valid
                    ElseIf dateStart.AddMonths(3) = dateEnd Then
                        'valid
                    ElseIf dateStart.AddMonths(6) = dateEnd Then
                        'valid
                    ElseIf dateStart.AddMonths(12) = dateEnd Then
                        'valid
                    Else
                        MsgBox("Please choose that would match to Monthly, Quarterly, Semi-Annual, Annual Payments!")
                    End If
于 2016-10-28T03:08:04.270 回答