DateTime dt = DateTime.UtcNow;
var lastDayOfMonth = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
day = dt.Day;
if (day != lastDayOfMonth)
{
if (dt.Hour >= 14)
{
day = day + 1;
}
else if (dt.DayOfWeek == DayOfWeek.Sunday)
day = day + 1;
}
else
{
//
}
现在我想在一个月的最后一天添加一天。我该怎么办?
答案 0 :(得分:3)
尝试
newDate = date.AddDays(1);
答案 1 :(得分:2)
听起来你只需要DateTime.AddDays
method
返回一个新的DateTime,它将指定的天数添加到 这个实例的价值。
但DateTime.Day
属性返回int
。如果您只想添加1
,那么您就是正确的。
day = day + 1;
但这当然不会影响dt
。
好的,让我们现在看看你的确切问题..
添加1
个月,然后提取1
天是查找当月最后一天的最佳方式之一。
例如;
DateTime dt = DateTime.UtcNow;
var FirstDayOfNextMonth = new DateTime(dt.Year, dt.Month, 1).AddMonths(1);
var LastDayOfCurrentMonth = FirstDayOfNextMonth.AddDays(-1);
Console.WriteLine(LastDayOfCurrentMonth);
输出将是;
2/28/2014 12:00:00 AM
这里有 demonstration
。
答案 2 :(得分:1)
DateTime today = DateTime.Today;
DateTime firstDayOfThisMonth = new DateTime(today.Year, today.Month, 1);
DateTime firstDayOfNextMonth = firstDayOfThisMonth.AddMonths(1);
答案 3 :(得分:1)
要查找下个月的第一天,您可以使用
Datetime FirstDayofNxtMnth =DATE(YEAR(TODAY()),MONTH(TODAY())+1,1);
要查找本月的最后一天,您可以使用
Datetime FirstDayofNxtMnth =DATE(YEAR(TODAY()),MONTH(TODAY())+1,1);
Datetime LastDayofThisMnth =DATE(YEAR(TODAY()),MONTH(TODAY())+1,1).addDay(-1);
答案 4 :(得分:1)
最后,我通过删除lastDayOfMonth的if条件并使用AddDays属性来完成此操作。
if (dt.Hour >= 14)
{
dt.AddDays(1);
}
else if (dt.DayOfWeek == DayOfWeek.Sunday)
{
dt.AddDays(1);
}
day = dt.Day;
感谢大家提出宝贵的建议。