我正在尝试创建一个向我返回DateTime对象的方法。
此日期应该是上个月的最后一天(我给的月份)。
示例:
月份: 1月(1)
年份: 2019
我需要什么:2018年12月31日
这就是我所拥有的
public DateTime getLastDayPrevMonth(int month, int year)
{
DateTime date = new DateTime();
date.Month == month;
date.Year == year;
date.AddMonths(-1);
date.Day = DateTime.DaysInMonth(date.Year,date.Month);
return date;
}
但它返回错误:
仅赋值,调用,递增,递减和新对象表达式可以用作语句
我在做什么错?
答案 0 :(得分:5)
怎么样:
public DateTime GetLastDayPrevMonth(int month, int year)
{
return new DateTime(year, month, 1).AddDays(-1);
}
这将在给定的月份/年份的第一天创建一个新的DateTime对象。然后,它会从该月的第一天减去一天,剩下上个月的最后一天。
答案 1 :(得分:4)
您可以像Current Date
一样
var CurrentDate= DateTime.Now;
和Current Month
的第一天一样
var FirstdayOfThisMonth= new DateTime(CurrentDate.Year, CurrentDate.Month, 1);
,您可以添加-1
,该日期将返回previous month
的最后一天,例如
var lastDayOfLastMonth = FirstdayOfThisMonth.AddDays(-1);