#region 根据传入的日期,需要增加的天数返回一个字符串:周末除外
public static DateTime AddWeekdays(DateTime start, int days)
{
int remainder = days % 5;
int weekendDays = (days / 5) * 2;
DateTime end = start.AddDays(remainder);
if (start.DayOfWeek == DayOfWeek.Saturday && days > 0)
{
// fix for saturday.
end = end.AddDays(-1);
}
if (end.DayOfWeek == DayOfWeek.Saturday && days > 0)
{
// add two days for landing on saturday
end = end.AddDays(2);
}
else if (end.DayOfWeek < start.DayOfWeek)
{
// add two days for rounding the weekend
end = end.AddDays(2);
}
// add the remaining days
return end.AddDays(days + weekendDays - remainder);
}
/// <summary>
/// 根据传入的日期,需要增加的天数返回一个字符串:周末除外
/// </summary>
/// <param name="data"></param>
/// <param name="str"></param>
/// <returns></returns>
public string ReTime(string data, int add)
{
DateTime dt = DateTime.Parse(data);
DateTime newDate = AddWeekdays(dt, add);
string snewDate=string.Format("{0:yyyy-MM-dd}", newDate);
return snewDate;
}
#endregion