1

シナリオ。月 (1-12) と年 (MMYYYY) 形式のドロップダウン リストがあります。
開始日 : 月 (1-12) と年 (MMYYYY) の形式
終了日 : 月 (1-12) と年 (MMYYYY) の形式

開始日を選択する場合: 2018 年 10 月 (開始日は有効です) 開始日は、現在の年に基づいて 5 年を超えてはなりません。その場合、「終了日」は終了日: 2018 年 10 月 (これは有効) 終了日は、開始日から 5 年を超えてはなりません。

質問:

  • MonthSTART DATE : 10/2018 を検証するにはどうすればよいですか

    • 終了日 : 2018 年 10 月
  • 四半期ごとに検証するにはどうすればよいですか

    • 開始日 : 2018 年 1 月
    • 終了日: 2018 年 3 月。
    • 四半期ごと(1月~3月、4月~6月、7月~9月、10月~12月)
  • 半年ごとに検証するにはどうすればよいですか

    • 開始日 : 2018 年 1 月
    • 終了日 : 2018 年 6 月
    • 半年次 (1 月から 6 月、7 月から 12 月)
  • 年次を検証するにはどうすればよいですか

    • 開始日: 2018 年 1 月
    • 終了日: 2018 年 12 月

上記の質問は、以下の私の説明と一致します

  1. 毎月 - ユーザーが開始日を選択するたびに (現在の日付から 5 年を超えてはなりません)

    • 例 START DATE : 10/2016 終了日は END DATE : 10/2016 にする必要があります。 有効
  2. 四半期ごと - 3 か月。ユーザーが START DATE : 10/2016 を入力する場合、終了は END DATE : 10/2016有効である必要があります

  3. SEMI ANNUAL - 6 か月 ユーザーが開始日を入力する場合: 2016 年 10 月 終了日は終了日: 2016 年 3 月有効

  4. ANNUAL - ユーザーが START DATE を入力する場合は 12 MONTHS : 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