Hi
How do I the exclude the weekends from the formula below?
Text(DateAdd(DatePicker2.SelectedDate, Value(Date_Estimator_LBL.Text), Days),DateTimeFormat.LongDate)
Thank you.
Solved! Go to Solution.
You can use the Text function at the date result of the With function:
With(
{ weekDaysToAdd: Value(Date_Estimator_LBL.Text) },
With(
{
fullWeeks: RoundDown(weekDaysToAdd / 5, 0),
remainingDays: Mod(weekDaysToAdd, 5),
daysToWeekend: 5 - Weekday(DatePicker1.SelectedDate, StartOfWeek.Monday)
},
With(
{ daysToAdd: fullWeeks * 7 + remainingDays + If(remainingDays > daysToWeekend, 2, 0) },
Text(DateAdd(DatePicker1.SelectedDate, daysToAdd), DateTimeFormat.LongDate))))
or
With(
{ dateAfterAdd: DateAdd(DatePicker1.SelectedDate, Value(Date_Estimator_LBL.Text)) },
With(
{ weekday: Weekday(dateAfterAdd, StartOfWeek.Sunday) },
Text(
DateAdd(dateAfterAdd, If(weekday = 1 /* Sunday */, 1, weekday = 7 /* Saturday */, 2, 0)),
DateTimeFormat.LongDate)))
Are you looking to exclude weekends from the days added to the selected date, or choose the first weekday after adding the days to the selected date? For example, if SelectedDate is 2021-04-09 (Friday) and Value(Date_Estimator_LBL.Text) is 8, do you want the result to be 2021-04-21 (Wednesday, 8 non-weekend days after 2021-04-09) or 2021-04-19 (Monday, first weekday after selecteddate+value)? Or something else?
If you want to exclude weekends from the days added to the date, you can use an expression like this (it currently doesn't work if the selected date on the date picker is on a weekend, but can be adjusted if this is a problem):
With(
{ weekDaysToAdd: Value(Date_Estimator_LBL.Text) },
With(
{
fullWeeks: RoundDown(weekDaysToAdd / 5, 0),
remainingDays: Mod(weekDaysToAdd, 5),
daysToWeekend: 5 - Weekday(DatePicker1.SelectedDate, StartOfWeek.Monday)
},
With(
{ daysToAdd: fullWeeks * 7 + remainingDays + If(remainingDays > daysToWeekend, 2, 0) },
DateAdd(DatePicker1.SelectedDate, daysToAdd))))
Or if you want to get the first weekday after adding the days:
With(
{ dateAfterAdd: DateAdd(DatePicker1.SelectedDate, Value(Date_Estimator_LBL.Text)) },
With(
{ weekday: Weekday(dateAfterAdd, StartOfWeek.Sunday) },
DateAdd(dateAfterAdd, If(weekday = 1 /* Sunday */, 1, weekday = 7 /* Saturday */, 2, 0))))
Hope this helps!
Hi
Thank you. How do I add Long Date to both of the formula's.
Kind Regards,
You can use the Text function at the date result of the With function:
With(
{ weekDaysToAdd: Value(Date_Estimator_LBL.Text) },
With(
{
fullWeeks: RoundDown(weekDaysToAdd / 5, 0),
remainingDays: Mod(weekDaysToAdd, 5),
daysToWeekend: 5 - Weekday(DatePicker1.SelectedDate, StartOfWeek.Monday)
},
With(
{ daysToAdd: fullWeeks * 7 + remainingDays + If(remainingDays > daysToWeekend, 2, 0) },
Text(DateAdd(DatePicker1.SelectedDate, daysToAdd), DateTimeFormat.LongDate))))
or
With(
{ dateAfterAdd: DateAdd(DatePicker1.SelectedDate, Value(Date_Estimator_LBL.Text)) },
With(
{ weekday: Weekday(dateAfterAdd, StartOfWeek.Sunday) },
Text(
DateAdd(dateAfterAdd, If(weekday = 1 /* Sunday */, 1, weekday = 7 /* Saturday */, 2, 0)),
DateTimeFormat.LongDate)))
User | Count |
---|---|
160 | |
84 | |
68 | |
64 | |
61 |
User | Count |
---|---|
206 | |
146 | |
95 | |
83 | |
66 |