日期的操作一直让我比较晕~~~~ 有需求需要这个功能 找SDK里面没有这方面的方法 于是有如下写法
planDate = Convert.ToDateTime(createDate.Year.ToString("yyyy") + "-" + month.ToString("MM") + "-" + day.ToString("dd"));
过了一会儿顿悟了,出现了下面的写法
/// <summary>
/// 设置日期为指定的月和日
/// </summary>
/// <param name="dt">日期</param>
/// <param name="month">月</param>
/// <param name="day">日</param>
/// <returns>设置完成的日期</returns>
private DateTime setMonthAndDay(this DateTime dt, int month, int day)
{
dt.AddMonths(month - dt.Month);
int maxDay = DateTime.DaysInMonth(dt.Year, dt.Month);
if (maxDay < day)
{
dt.AddDays(maxDay - dt.Day);
}
else
{
dt.AddDays(day - dt.Day);
}
return dt;
}