如何确定该月的最后一天

时间:2015-04-20 19:39:37

标签: c#

如果用户在距离当月可用的最后一天更远的文本框中输入日期,我如何确定测试月份的月份的最后一天?另外,我如何将其反馈给用户。

当用户输入日期(例如,2015年4月31日)时,日期应自动更改为2015年4月30日。

我想尝试使用c#

2 个答案:

答案 0 :(得分:3)

第3次编辑:以下内容会让您接近您要求的内容,但实际上只是使用了一个日期选择器控件,它将有助于防止大多数无效日期并为您节省大量资金发展时间

第二次编辑:所以TryParse是有益的,因为如果日期有效,请继续并完成。如果您有一个无效的日期,TryParse将告诉您,那么您可以比较为日期值输入的值,并查看它与月末的接近程度,即取31-30 = 1,1个数字关闭所以他们可能意味着30

编辑:要回答有关查找无效日期的问题,请查看以下内容:Validate a DateTime in C#

它显示了如何检测无效日期。

要回答有关如何“猜测”哪个验证日期最接近的问题,我会说这取决于您输入日期的方式。如果您执行类似的操作,请输入日期值的int值,我会检查所选月份的最高日期值,然后查看它们最接近哪一个(这只是此时的数学运算) )。

我认为这会起作用

DateTime lastday = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.DaysInMonth(DateTime.Today.Year, DateTime.Today.Month));

答案 1 :(得分:1)

这是一种简单的方法:

//first day of next month
var dt = new DateTime(2015,4,1);
var lastDayOfMonth = dt.AddDays(-1).Day;

就向用户传递信息而言,这取决于环境,技术和首选方法。