When you build real apps in Power Apps, you almost always end up working with dates. You may want to save a project start date, a due date, or the exact date and time when someone submits a form.
In this article, we will see how to patch a Power Apps Date Picker to SharePoint and Excel, handle today’s date, blank dates, multiple dates, time zones, and even date+time (AM/PM) scenarios.
The idea is simple: you select a date in the Power Apps app, and Patch sends that value to the SharePoint list data source.
1. Power Apps Patch and Date Picker
Let’s first get a quick refresher so everyone is on the same page.
- Power Apps Patch updates or creates records in a data source without using a form control.
- The Date Picker control returns a date value through its SelectedDate property.
Think of it like this: the Date Picker is your input, Patch is your “Save” button logic, and SharePoint or Excel is where the date ends up.
The basic pattern looks like this:
Patch(
DataSource,
Defaults(DataSource),
{
DateColumn: DatePickerControl.SelectedDate
}
)
DataSourcecan be a SharePoint list, Excel table, Dataverse table, etc.DateColumnis a Date or Date & Time column in your data source.DatePickerControlis the name of your Date Picker control in the app.
2. Patch Power Apps Date Picker to a SharePoint List
Let’s start with the most common scenario: patching a date from Power Apps to a SharePoint list.
Example setup
Say you have a SharePoint list called Projects with these columns:
- Title (Single line of text)
- StartDate (Date only)

In your canvas app, you add:
- A Power Apps Text input control called
Title_Txt(for the project title). - A Power Apps Date picker control called
StartDate_DatePicker(for the start date). - A Button called Save.

On the Save button’s OnSelect property, use this formula:
Patch(
Projects,
Defaults(Projects),
{
Title: Title_Txt.Text,
StartDate: StartDate_DatePicker.SelectedDate
}
)

When the user types a title, selects a date, and clicks Save, a new record is created in Projects with the selected start date.


Update an Existing Date in SharePoint List Using Power Apps Patch
Now, let’s say you want to change the StartDate for an existing item, instead of creating a new one.
You can look up the record by ID (or any unique field) and patch only the date field:
Patch(
Projects,
LookUp(Projects, ID = 68),
{
StartDate: StartDate_DatePicker.SelectedDate
}
)
Here:
LookUp(Projects, ID = 68)fetches the existing item with ID 68.- Only
StartDateis updated; other columns remain unchanged.

Now, preview the app and select a date as per the requirement (e.g., 11/25/2022). Then click on the save button.

We can see that the start date of the item will be changed to the selected date shown below:

This is a clean pattern when you want to drive edits from a button instead of a Power Apps form.
3. Patch Today’s Date in Power Apps (ignore what the user picked)
Sometimes you don’t want to trust the user-selected date. Instead, you always want to store today’s date, for example, as a “Submitted On” or “Created On” field.
In that case, you can simply use the Power Apps Today() function and ignore the Date Picker value:
Patch(
Projects,
Defaults(Projects),
{
Title: Title_Txt.Text,
StartDate: Today()
}
)
Even if the user changes the date in the control, the saved value will always be the current date when they clicked the button.

If you need date and time instead of just date, use Now() instead of Today():
Patch(
Projects,
Defaults(Projects),
{
Title: Title_Txt.Text,
StartDate: Now()
}
)
Make sure your SharePoint column is set to “Date & Time” if you want to store the time portion.
Let’s preview the app and insert the data into the text input and date picker control.

On the above screen, I entered the date 11/11/2022 as the start date, but as we can see, once I click the button, it will patch the current date within the SharePoint list.

4. Patch a Blank Date to a SharePoint Date Field
In real apps, you often need to clear a date. For example, removing a due date or resetting a “Completed On” value.
To patch a blank date to SharePoint Date field, you use the Blank() function:
Patch(
Projects,
Defaults(Projects),
{
Title: Title_Txt.Text,
StartDate: Blank()
}
)

This will create a record with an empty StartDate.
If you want to clear an existing date for a particular record, combine Blank() with LookUp:
Patch(
Projects,
LookUp(Projects, ID = 68),
{
StartDate: Blank()
}
)
Let’s preview the app and insert the data in both controls. While clicking on the Save button, we can see instead of the selected date, it will patch a blank value from the Power Apps to date source.

This pattern is useful when a reset or “Clear date” action is part of the business logic.
5. Patch Multiple Date Picker Controls in Power Apps
Many business forms have Power Apps multiple date fields: Start Date, End Date, Delivery Date, etc.
Assume the Projects list also has a DeliveryDate column (Date only), and in your app, you have:
StartDate_DatePickerDeliveryDate_DatePicker

Your button’s OnSelect might look like this:
Patch(
Projects,
Defaults(Projects),
{
Title: Title_Txt.Text,
StartDate: StartDate_DatePicker.SelectedDate,
DeliveryDate: DeliveryDate_DatePicker.SelectedDate
}
)

You can patch as many dates as you want in one Patch call by simply adding them in the record { ... }.
If you are patching existing records instead of creating new ones, just replace Defaults(Projects) with a suitable lookup.
That’s it! Now, preview the app and fill in all the above controls. Click on the Save button.

We can see that the multiple date pickers were synced with the SharePoint list in Power Apps just after the button was clicked.

6. Power Apps Date Picker and OK button (can we skip it?)
One common question is: “Can I patch the date as soon as the user picks it, without the OK button?”

The built‑in Date Picker control still requires the user to confirm the date by selecting OK in the pop-up. There is no official property today that patches automatically on selection alone.
A few practical suggestions:
- Keep using the OK button pattern and Patch on a Save button.
- If you want a smoother UX, you can:
- Use the modern Date Picker and handle changes via its OnChange event to write to a variable, then Patch later.
- Build a custom “calendar” component that directly fires your logic when the user clicks a date.
But out of the box, you cannot fully bypass clicking OK on the standard Date Picker popup.
7. Patch Power Apps Date Picker to Excel (and fix “one day off” issue)
Patching dates from Power Apps to Excel is very common, but it often introduces a time zone issue where the date shows one day off in the final file.
Basic setup
Imagine you have an Excel table named ProductTable with:
- ProductInvoice (Text)
- ProductName (Text)
- PurchaseDate (Date)

You connect this table to Power Apps and add:
ProductInvoice.Txt(text input)ProductName.Txt(text input)PurchaseDate_DatePicker(Date Picker)- A Submit button

Basic Power Apps Patch formula:
Patch(
ProductTable,
Defaults(ProductTable),
{
ProductInvoice: 'ProductInvoice.Txt'.Text,
ProductName: 'ProductName.Txt'.Text,
PurchaseDate: PurchaseDate_DatePicker.SelectedDate
}
)

Preview the app. Fill in the above controls and click on the button. (Suppose the selected date is 11/15/2022).
However, as we can see in the Excel below, the selected date will be patched and displayed as one day off:

This works, but sometimes you will see the date in Excel shifted by one day due to how UTC and local time are handled.
Fixing the one‑day offset
The trick is to align the DateTimeZone and explicitly control the value you send.
- Set the Power Apps Date Picker’s DateTimeZone property to UTC.
- Use a formula that formats the date in UTC and then converts it back to a date.
For example:
Patch(
ProductTable,
Defaults(ProductTable),
{
ProductInvoice: 'ProductInvoice.Txt'.Text,
ProductName: 'ProductName.Txt'.Text,
PurchaseDate: DateValue(
Text(
PurchaseDate_DatePicker.SelectedDate,
DateTimeFormat.UTC
)
) + 1
}
)
Here’s what is happening:
PurchaseDate_DatePicker.SelectedDategives the selected date.Text(..., DateTimeFormat.UTC)ensures a UTC representation.DateValue(...)converts the string back to a date value.- The
+ 1adjustment compensates for the offset that caused the Excel date to shift.

It’s a bit of a workaround, but it is a well‑known pattern for taming Excel’s time zone behavior.
Let’s preview this, insert the data, then click the Submit button.

The exact date will be patched from the Power Apps date picker to Excel as shown below:

8. Patch Power Apps Date Picker With Time (AM/PM)
By default, the Date Picker gives you a date, not a date+time. For many scenarios, that’s enough, but sometimes you need to store date and time, like “11/11/2022 6:36 PM”.
A common approach is:
- Use a Date Picker for the date.
- Use dropdowns for hours and minutes.
- Combine them with the Time() function in Patch.
Assume:
- SharePoint list Projects has a StartDate column configured as Date & Time.
- You have:
DateValue1(Date Picker)HourValue1(Dropdown with hour values, e.g., 0–23 or 1–12)MinuteValue1(Dropdown with minute values, e.g., 00, 15, 30, 45)DataCardValue15(Text for Title)
Set the Date Picker’s DateTimeZone to UTC so the date and time align across Power Apps and SharePoint.
Then on a button’s OnSelect:
Patch(
Projects,
Defaults(Projects),
{
Title: DataCardValue15.Text,
StartDate:
DateValue1.SelectedDate +
Time(
Value(HourValue1.Selected.Value),
Value(MinuteValue1.Selected.Value),
0
)
}
)

Key points:
DateValue1.SelectedDateholds the date.Time(...)builds a time value using the dropdown selections.- The
+operator combines date and time into a DateTime value.
That’s it! Let’s preview the app. Fill in the data into the Power Apps, including the date and time values. (Ex- 11/11/2022 16:43), and click on the button.
We can see the date value got patched with am pm in the data source, like below:

If your SharePoint column is configured as “Date & Time, format: Date & Time”, it will show something like “11/11/2022 4:43 PM” based on the selected values and your time zone.
If you want the UI to feel more like AM/PM rather than 24‑hour format, you can:
- Bind the hour dropdown to a table of strings like
["12 AM", "1 AM", ... "11 PM"]. - Map the selected text to a 24‑hour number before passing it into
Time().
For example, you can store a hidden mapping or use a simple If or Switch block to convert “6 PM” to 18 when building the Time() value.
Some Extra Practical Tips & Patterns While Working With Date Picker and Patch
Here are some extra patterns that make life easier when working with Date Picker and Patch in real apps.
a) Restrict Date Ranges
If you don’t want users to pick dates in the past or too far in the future, you can use MinDate and MaxDate on the Date Picker.
Examples:
- Only allow dates from today onward:
MinDate: Today() - Only allow dates up to 30 days ahead:
MaxDate: Today() + 30
This keeps invalid dates away before you even call Patch.
b) Show a Friendly Formatted Date
Sometimes your data source needs one format, but the user wants to see another. You can use the Text() function to display a friendly version on labels or text inputs.
For example, to show “Friday 14/04/2023”:
Text(
DatePicker1.SelectedDate,
"dddd dd/mm/yyyy"
)
You’d typically use this for display only, and still patch SelectedDate directly to a Date or DateTime column.
c) Patch From Forms vs Patch From Scratch
If you are already using an Edit form, you often don’t need Patch at all. You can just use SubmitForm(), and Power Apps will handle date fields automatically.
Use Patch when:
- You’re not using forms.
- You want fine‑grained control over what fields are updated.
- You want to combine multiple data sources with a single button click.
Both approaches are valid; Patch just gives you more control.
I hope this article helped you to learn everything about how to patch Power Apps Date Picker, Patch Power Apps Date Picker to a SharePoint list, Patch today’s date in Power Apps, and many more.
Also, you may like some more Power Apps articles:
- Patch Power Apps Combo Box
- Patch Dataverse Choice Column in Power Apps
- Create Calculator in Power Apps
- Power Apps Bulk Approvals Using Power Automate
- Create an Auto Scrolling Gallery in Power Apps

Preeti Sahu is an expert in Power Apps and has over six years of experience working with SharePoint Online and the Power Platform. She is the co-author of Microsoft Power Platform: A Deep Dive book. As a Power Platform developer, she has worked on developing various tools using Power Apps and Power Automate. She also makes Microsoft 365 videos and shares them on YouTube.
Hello,
You’ve put a note:
“Note: Make sure to keep both the Power Apps and SharePoint time zone as same.”
But it’s not explained how to do it. Could you please explain?