[英]Adding one day to last day of the month
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
{
//
}
现在我想在一个月的最后一天添加一天。 我该怎么做?
尝试
newDate = date.AddDays(1);
听起来你只需要DateTime.AddDays
方法
返回一个新的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
。
DateTime today = DateTime.Today;
DateTime firstDayOfThisMonth = new DateTime(today.Year, today.Month, 1);
DateTime firstDayOfNextMonth = firstDayOfThisMonth.AddMonths(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);
最后,我通过删除lastDayOfMonth的if条件并使用AddDays属性来完成此操作。
if (dt.Hour >= 14)
{
dt.AddDays(1);
}
else if (dt.DayOfWeek == DayOfWeek.Sunday)
{
dt.AddDays(1);
}
day = dt.Day;
谢谢大家的宝贵建议。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.