一个人在系统中输入日期,他在2月28日选择了它,它将在3月28日再现。但我的目标是在3月31日结束这个月。有没有办法在下个月没有合并下面的片段,换句话说更清洁的方法?
if (Date.Month == 2)
Date.AddDays(31)
else if (Date.Month == 3)
Date.AddDays(30)
等...
任何提示或建议都会很棒,干净的代码始终是最好的代码。
答案 0 :(得分:0)
var d = new DateTime(...);
var newDate = new DateTime(d.Year, d.Month, 1).AddMonths(2).AddDays(-1);
这也应该有效:
var newDate = new DateTime(d.Year,1,31).AddMonths(d.Month-1);