シナリオ。月 (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 月
上記の質問は、以下の私の説明と一致します
毎月 - ユーザーが開始日を選択するたびに (現在の日付から 5 年を超えてはなりません)
- 例 START DATE : 10/2016 終了日は END DATE : 10/2016 にする必要があります。 有効
四半期ごと - 3 か月。ユーザーが START DATE : 10/2016 を入力する場合、終了は END DATE : 10/2016有効である必要があります
SEMI ANNUAL - 6 か月 ユーザーが開始日を入力する場合: 2016 年 10 月 終了日は終了日: 2016 年 3 月有効
ANNUAL - ユーザーが START DATE を入力する場合は 12 MONTHS : 01/2016 終了日は END DATE : 12/2016有効
そう でなければ無効
出力:有効または無効
以下のコードをご覧ください
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