cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
mr-dang
Community Champion
Community Champion

Solution: Find out Monday's Date

Problem: you want to Filter a Gallery based on data in the current week. You set up two DatePickers to set the start (DatePicker1) and end dates (DatePicker2). However, you want the DefaultDate of DatePicker1 to be the Monday of the current week.

 

I have a solution for calculating the Monday. Set DatePicker1.DefaultDate to:

 

 

DateAdd(Today(),
	If(Weekday(Today())=1,-6,
		Weekday(Today())=2,0,
		Weekday(Today())=3,-1,
		Weekday(Today())=4,-2,
		Weekday(Today())=5,-3,
		Weekday(Today())=6,-4,
		Weekday(Today())=7,-5
	)
)

 

This formula subtracts the number of days relative to the last Monday and outputs a date.

 

If you prefer a Sunday, you just need to change the number to subtract, or you could shift the Weekday formula to another mode.

Microsoft Employee
@8bitclassroom
1 ACCEPTED SOLUTION

Accepted Solutions
rgruian
Power Apps
Power Apps

Try this, it may be simpler:

 

    Today() + 7 - Weekday(Today(), MondayZero)

 

I hope this helps.

 

Radu Gruian [MSFT] ** PowerApps Staff

View solution in original post

7 REPLIES 7
rgruian
Power Apps
Power Apps

Try this, it may be simpler:

 

    Today() + 7 - Weekday(Today(), MondayZero)

 

I hope this helps.

 

Radu Gruian [MSFT] ** PowerApps Staff
opticshrew2
Helper II
Helper II

I tried the following, seems to work aswell 😄 

 

Start of Week

 

DateAdd(Today(), -1 * (Weekday(Today(), Monday) - 1), Days)

 

 

End of Week

DateAdd(Today(), 7 - Weekday(Today(), Monday), Days)

 

I would like to do something similar.

 

I would like the date to default to the Monday of the current working week when the user selects a date. For example if they selected the Wednesday of a particular week, a variable would be set containing the date of the Monday for that week.

 

This is for a time sheet app where the user is using the calendar to select the working week rather than a particular day. In most cases users will select the Monday but I want insurance against selecting other dates as this messes up the presentation of the app.

 

I have a gallery of days of the week labels that uses the following sequence to generate the week. If gblWeekStart is not set to Monday it messes things up.

 

ForAll(Sequence(7), gblWeekStart + Value - 1)

 

@Digital here is an easier way

Datepicker1.SelectedDate-WEEKDAY(DatePicker1.SelectedDate,2)+1

 

This will give you the Monday of any date you feed it 

@jlindstrom , Perfect. Thank you!

I love it how in this thread alone we've listed three methods to retrieve the same value 😄 

@opticshrew2 

can you explain the start of week formula? why do we multiple by -1 and then subtract 1?

thanks

Helpful resources

Announcements
Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (3,675)