ASP.NET:使用下拉列表以MMYYYY格式接受验证日期使用VISUAL BASIC

时间:2016-10-27 10:08:10

标签: asp.net .net vb.net visual-studio webforms

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

如果我选择START DATE:10/2018(那么开始日期有效) 根据当前年份,开始日期不应超过5年 然后“结束日期”应该是结束日期:10/2018(这是有效的)

  1. 我如何接受开始时间不应超过当前日期的5年?
  2. 我如何接受从开始日期开始不超过5年的结束日期?
  3. 如果达成,另一个问题:

    1. 我如何确认月份 - 开始日期:10/2018结束日期:10/2018

    2. 我如何每季度确认一次 - 开始日期:01/2018结束日期:03/2018。
      *季度为(1月至3月,4月至6月,7月至9月,10月至12月)

    3. 我如何确认半年度 - 开始日期:01/2018结束日期:06/2018 *半年度(1月至7月,7月至12月)

    4. 我如何确认年度 - 开始日期:01/2018结束日期:12/2018

    5. ELSE INVALID

      OUTPUT:VALID或INVALID。

      实施例

      INPUT-  START DATE: 10 2018 END DATE: 10 2018
      OUTPUT: VALID ** THIS IS MONTHLY
      
      INPUT-  START DATE: 10 2018 END DATE: 12 2018
      OUTPUT: VALID ** THIS IS QUARTERLY
      
      INPUT-  START DATE: 10 2018 END DATE: 03 2019
      OUTPUT: VALID ** THIS IS SEMI-ANNUAL
      
      INPUT-  START DATE: 01 2018 END DATE: 12 2018
      OUTPUT: VALID ** THIS IS ANNUAL
      

1 个答案:

答案 0 :(得分:0)

你问题的后半部分应该是关于SO的新问题。但是,这里有......

  

我如何接受开始时间不应超过当前日期的5年?

     

我如何接受从开始日期起不应超过5年的结束日期?

您可以使用下拉列表值创建日期变量,但每个都假设该月的第一天,因为日期需要DAY部分:

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
  

我如何确认月份 - 开始日期:10/2018结束日期:10/2018

创建新日期变量时会自动完成。

  

2)我如何每季度确认一次 - 开课日期:01/2018结束日期:03/2018 ......

我担心我不理解你的其他问题。也许删除这些并放入一个更详细的新问题。