Skip to main content

How to Add Days or Minutes to a Date in Power Apps with DateAdd

· 4 min read
Jagdish Kumawat
Founder @ Dewiride

DateAdd adds an amount of time to a date or a date and time: a day, a few hours, 450 minutes. Give it a negative number to go back instead. It's how a timesheet moves a finish time onto the next day.

The example is the Overtime Timesheet app, which adds a day to a night shift's date for its finish time.

Syntax​

Syntax
DateAdd(DateTime, Addition [, Units])
ArgumentMeaning
DateTimeThe date or date and time to start from
AdditionHow many units to add; negative to subtract
UnitsTimeUnit.Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters or Years. Leave it out and it's Days

From Microsoft's DateAdd, DateDiff, and TimeZoneOffset functions.

Example 1: Add a Day​

I put each formula into a text control's Text for a moment, so Studio's preview strip shows the result:

Any text control → Text
DateAdd(Date(2026, 11, 6), 1, TimeUnit.Days)

The day after 6 November is 7 November, still at midnight, and still a Date:

The formula bar with DateAdd(Date(2026, 11, 6), 1, TimeUnit.Days), the preview strip reading 07/11/2026, 00:00:00 with Data type Date, and the text control showing 07/11/2026

Example 2: Add Minutes​

Any text control → Text
Text(DateAdd(DateTime(2026, 11, 6, 22, 0, 0), 450, TimeUnit.Minutes), "dd/mm/yyyy hh:mm")

Seven and a half hours after 22:00 on 6 November is 05:30 the next morning:

The formula bar with the DateAdd formula adding 450 minutes to 22:00 on 6 November 2026, the preview strip reading 07/11/2026 05:30 with Data type text, and the text control showing 07/11/2026 05:30

How the Example Uses It​

A night shift from 22:00 to 06:00 finishes the day after it starts. The app's ShiftEnd function moves the date on by one day when the finish time is earlier than the start, then puts the finish time on that date:

App → Formulas
ShiftEnd(ShiftDate: Date, StartAt: Time, EndAt: Time): DateTime =
With(
{EndDate: If(EndAt < StartAt, DateAdd(ShiftDate, 1, TimeUnit.Days), ShiftDate)},
DateTime(Year(EndDate), Month(EndDate), Day(EndDate), Hour(EndAt), Minute(EndAt), 0)
);

DateAdd only decides the day here; DateTime sets the clock time on it (How to Calculate Hours for an Overnight Shift in Power Apps).

Common Mistakes​

MistakeWhat happensDo this instead
Leaving out the units for hours or minutesDateAdd adds daysAlways pass the TimeUnit
Adding numbers to dates with +Microsoft warns of confusing results with time zonesUse DateAdd
Adding to a blank dateA result from a date nobody choseCheck IsBlank first

Troubleshooting​

SymptomLikely causeFix
The date moved by days instead of minutesNo Units argumentAdd TimeUnit.Minutes
The result shows a date when you expected a timeThe text control shows the whole valueFormat it with Text and "hh:mm"

FAQ​

How do I subtract?​

Pass a negative number: DateAdd(Today(), -7, TimeUnit.Days) is a week ago.

Can DateAdd convert between local time and UTC?​

Yes, together with TimeZoneOffset: How to Convert Local Time to UTC in Power Apps with TimeZoneOffset.

Conclusion​

DateAdd(value, amount, TimeUnit.Unit) adds days, hours, minutes or any other unit, and subtracts with a negative amount. Always pass the unit.

Additional Resources​