
SharePoint & PowerApps MVP - SharePoint, O365, Flow, Power Apps consulting & Training
This article summarizes a YouTube walkthrough by Shane Young [MVP] that focuses on date handling in Microsoft Power Apps. The video concentrates on two Power FX functions, EDate and EOMonth, and shows how they solve common problems with recurring dates. Consequently, the demonstration aims to reduce errors when months have different day counts and to simplify month-end calculations.
In the video, Shane Young [MVP] explains that EDate shifts a date by a given number of months while trying to preserve the original day number, but it will roll to the month's last valid day if the same day does not exist. By contrast, EOMonth always returns the last day of the target month after adding or subtracting months, which makes month-end logic much simpler. Together, these functions respect calendar boundaries instead of merely adding a fixed number of days, which reduces edge-case bugs when building billing, subscription, or reporting features.
First, the presenter walks viewers through creating a short date series using Sequence and AddColumns, which produces a list of recurring dates in a clear and repeatable way. Then, the video contrasts the behavior of EDate and EOMonth with concrete examples, such as how January 30 becomes February 28 with EDate while EOMonth would yield the final day of the month instead. These side-by-side examples make it easy to choose the right function for a given business rule.
Moreover, Shane Young [MVP] recommends using DateValue when converting text to dates because it handles string inputs more reliably than the older Date approach in many scenarios. He also highlights that these functions return pure date values without time components, which simplifies storage and comparison when time is irrelevant. As a result, developers can avoid common pitfalls around time zones or unexpected time offsets in day-only calculations.
Despite their advantages, these functions do come with tradeoffs that the video addresses. For example, preserving the same day with EDate can be the right business rule for subscriptions but may confuse users who expect a month-end alignment, and vice versa for EOMonth. Furthermore, when generating long series with Sequence, developers should weigh client-side performance limits and consider delegation constraints if they must work with large data sources in production.
In addition, the video touches on common failure points such as text parsing errors, locales that format dates differently, and the interplay with data sources that store date-time values. Consequently, you should validate inputs and prefer DateValue for textual dates while stripping or normalizing time components when comparing or storing month-based calculations. Finally, for billion-row scenarios or heavy computation, offloading logic to services like Power Automate or a back-end process may be more reliable than running large loops in a canvas app.
Overall, the walkthrough encourages clear rules about which function to use: choose EDate when you need the same day each month and choose EOMonth when you need the month's final day regardless of the start date. In addition, the presenter suggests testing around leap years and end-of-month boundaries to confirm behavior before deploying a solution. Therefore, documenting the chosen approach in app metadata or comments helps future maintainers understand why a specific function was selected.
To implement these patterns safely, validate date inputs at the UI, normalize values for storage, and keep performance in mind when generating lists with Sequence and AddColumns. Meanwhile, consider delegation limits and test with representative data sizes so that user experience remains responsive. By balancing correctness, performance, and clarity, teams can adopt these functions with fewer surprises.
In summary, Shane Young [MVP] delivers a focused, practical guide to date handling in Power Apps, showing how EDate and EOMonth simplify recurring-date logic and month-end calculations. The video pairs demonstrations with best-practice recommendations, while also noting tradeoffs and real-world constraints like parsing, delegation, and performance. Consequently, developers and makers can use these patterns to build more predictable and maintainable date-driven features in their canvas apps.
power apps date functions, power apps edate, power apps eomonth, edate function power apps, eomonth function power apps, power apps add months to date, power apps end of month calculation, power apps date manipulation