大家好我正在开展一个关于计算特定工作日的项目。 我的条件是:周六不是假期,这是工作日。排除两天之间的假期
我写了这个代码everyting是星期天只有okey跳过,但我想跳过,如果包含假期日期。
问题:跳过周日但不跳过传递的假期列表值。
将来的日期计算功能:
public DateTime CalculateFutureDate(DateTime fromDate, int numberofWorkDays,
List<DateTime> holidays)
{
var futureDate = fromDate;
for (var i = 0; i < numberofWorkDays; i++)
{
if (
futureDate.DayOfWeek == DayOfWeek.Sunday
|| (holidays != null && holidays.Contains(futureDate)))
{
futureDate = futureDate.AddDays(1);
numberofWorkDays++;
}
else
{
futureDate = futureDate.AddDays(1);
}
}
while (
futureDate.DayOfWeek == DayOfWeek.Sunday
|| (holidays != null && holidays.Contains(futureDate)))
{
futureDate = futureDate.AddDays(1);
}
return futureDate;
}
主要功能:
List<DateTime> holidayslist = new List<DateTime>();
holidayslist.Add(new DateTime(2016, 09, 7));
holidayslist.Add(new DateTime(2016, 09, 8));
holidayslist.Add(new DateTime(2016, 09, 9));
DateTime izinbaslangic = Convert.ToDateTime(dtpİzinBaslangicTarihi.Value, System.Globalization.CultureInfo.CreateSpecificCulture("tr-TR").DateTimeFormat);
dtpİzinBitisTarihi.Value = CalculateFutureDate(izinbaslangic, Int32.Parse(tbİzinGunu.Text), holidayslist);
输入:izinbaslangic - >的DateTimePicker值和workingdays - > tbizingunu值
期待输出:排除假日和周末在另一个datetimepicker显示新的日期。
输出:只跳过Weekends.Not跳过节假日。
期待输出图像:enter image description here
这将真正帮助,如果你提供一个[MCVE]显示它不工作......我们不知道你的输入,预期输出和实际输出是什么。 –
好吧,我现在编辑 – Sososo
作为一个猜测,你的datetimepicker返回一个日期和非午夜时间? – Phylogenesis