prasanna204 Ответов: 1

Найти конечную дату на основе даты начала и количества недель c#.net...


привет друзья,


Я использую gridview в том смысле, что у меня есть одно связанное поле и 3 поля шаблона текстового поля, как это
------------------------------------------------------------- ---------
phase      Duration(weeks)    SrartDate         EndDate 
 
-----------------------------------------------------------------------

за пределами gridview у меня есть поле: рабочие дни в неделю:
пример: 5 0r 6

Если я введу 1 или 1,5 недели в текстовое поле продолжительность, дата начала : 12-05-2017 и если общее количество рабочих дней в неделе: 5 на основе этих значений удалите дни недели и воскресенье и найдите и отобразите
Дата окончания в gridview.

если рабочие дни в неделе 6 дней, удалите только воскресенье, найдите EndDate и отобразите его в gridview.

Пример:
Если рассматривать продолжительность как 1 неделю, то рабочих дней в неделе 6

затем после 12-05-2017 затем удалите дату воскресенья из расчета и окончательная дата окончания должна быть напечатана

20-05-2017

как этого достичь??

Что я уже пробовал:

Я попробовал использовать метод Adddays для данной даты

Richard MacCutchan

Так в чем же проблема?

prasanna204

как получить конечную дату на основе упомянутых сценариев?Мне нужна помощь кода

Richard MacCutchan

Добавьте количество дней к дате начала.

[no name]

что вы пробовали? Обновите вопрос, добавив свой код/скрипты...

prasanna204

Продолжительность (недели)=1;nofofworkingdays (в неделю)=5;
Datetime Dt=конвертировать.Todatedime(txtStartDate. Text);
Дата=ДТ.AddDays(7);
как исключить субботы и воскресенья, если они есть, калукулируйте на основе nofofworking дней

1 Ответов

Рейтинг:
1

Jochen Arndt

Добавьте количество дней и проверьте день недели после этого (добавьте один или два дня для воскресенья и субботы):

// Add number of days
dt.AddDays(weeks * 7);
// Choose Monday if end date is Sunday
if (dt.DayOfWeek == DayOfWeek.Sunday)
    dt.AddDays(1);
// Choose Monday if end date is Saturday and Saturday is not a working day
else if (workingDays < 6 && dt.DayOfWeek == DayOfWeek.Saturday)
    dt.AddDays(2);


Maciej Los

5ед!