如何检查给定日期是否存在于月份?

Cod*_*erz 5 c# linq date

我有一个组合框我在其中收集了1到31的日期,并且我还有一个清单框,其中我在1月到12月期间收集了一个月.
现在我必须在日期上进行验证,如果用户选择31然后选择月份1月,2月,3月,然后弹出一条消息并通知他们31月份不存在

在此输入图像描述

Jon*_*eet 17

你想要的DateTime.DaysInMonth方法:

public bool IsDateValid(int year, int month, int day) {
    return day <= DateTime.DaysInMonth(year, month);
}
Run Code Online (Sandbox Code Playgroud)

我假设yearmonth值总是合理的,并且day总是大于或等于1.您可以轻松添加参数验证.我还假设你已经将月份作为一个数字,而不仅仅是一个名字.(区分值的显示格式和基础值.)

请注意,您需要一年的选择器,否则您将无法知道2月29日是否有效.

(正如Mitch所说,最好设计一个UI,其中无效的选择根本不会出现,理想情况下.)

  • +1。“一个伟大的应用程序不允许其用户执行无效操作”。 (2认同)