cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
MiteshGovan
Post Patron
Post Patron

Exclude the weekends

Hi 

 

How do I the exclude the weekends from the formula below?

MiteshGovan_0-1619197280109.png

Text(DateAdd(DatePicker2.SelectedDate, Value(Date_Estimator_LBL.Text), Days),DateTimeFormat.LongDate)

 

Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions

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)))

View solution in original post

4 REPLIES 4
CarlosFigueira
Power Apps
Power Apps

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)))

Helpful resources

Announcements
Ignite 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Super User 2 - 2022 Congratulations

Welcome Super Users

The Super User program for 2022 - Season 2 has kicked off!

September Events 2022

Check out all of these events

Attend in person or online, there are incredible conferences and events happening all throughout the month of September.

Users online (2,979)