日期的操作一直让我比较晕~~~~ 有需求需要这个功能 找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;
}





posted on 2012-03-28 16:35  深海大虾  阅读(1700)  评论(0编辑  收藏  举报