Live Developer Training: next batch coming soon. Be the first to know.Live training: next batch soonJoin the waitlist →Join →

Power Apps DateValue Function: Convert Text to a Date (With Examples)

If you need to turn a typed date like “10/08/2026” into a real date in Power Apps, wrap the text in DateValue(). The Power Apps DateValue function reads the string and returns a date you can filter, compare and format.

So why do people still get stuck? Because the same text can mean two dates. “10/05/2026” is October 5 to Megan in Seattle and May 10 to a colleague in London.

I tested every formula below in a demo app. If you’ve never built one, start with the steps right below. Then I’ll show you the syntax, the language tag, bad text, and a SharePoint filter that works.

Build the Demo App Step by Step

You only need a SharePoint list and a blank canvas app. A canvas app is the kind of app where you place every control yourself. Our guide on how to create a canvas app from a SharePoint list covers the automatic route too.

Step 1: The SharePoint list. My list, Service Requests, has 620 items. The columns that matter here are Title, DueDate (a Date only column) and RequestedOnText (a single line of text that holds dates like 10/8/2026).

SharePoint list Service Requests with 620 items and DueDate and RequestedOnText columns

Step 2: Open the maker portal. Go to make.powerapps.com. On the Home page, select Start with design.

Power Apps maker portal Home page with the Start with design option

Step 3: Create a blank canvas app. Select Create from blank, the canvas app option.

Create from blank option for a new canvas app in Power Apps

Step 4: Pick a layout. In Start with a blank canvas, choose Tablet. Power Apps Studio, the app editor, opens.

Start with a blank canvas dialog with the Tablet layout option

Step 5: Add a data source. A data source is any place the app reads data from. Select Add data, type SharePoint in the search box and pick the SharePoint connector.

Add data pane in Power Apps Studio searching for the SharePoint connector

Step 6: Connect to the site. Paste your site URL, for example https://contoso.sharepoint.com/sites/SPGuides, and select Connect.

Connect to a SharePoint site dialog with the site URL pasted in

Step 7: Choose the list. Select the Service Requests check box and select Connect. The list now appears under Data.

Choose a list dialog with the Service Requests list selected

Step 8: Insert controls. Open the Insert menu. This post uses a Text label, a Text input, a Vertical gallery and a Date picker.

Power Apps Insert menu with Text label, Text input, gallery and date picker controls

Three moves you’ll repeat all the time. To set a property, select a control, pick the property in the dropdown left of the fx formula bar, then type the formula in the bar.

To try the app, select Play at the top right, or hold Alt while you click a control in the editor. Press Ctrl+S to save.

Power Apps DateValue Syntax

Here’s the syntax:

DateValue( String [, Language] )
  • String (required): text that contains a date, such as "10/08/2026" or txtDateInput.Text.
  • Language (optional): a language tag such as "en-US" or "en-GB". Leave it out and Power Apps uses the language of the person running the app.

It’s the date sibling of the Value function in Power Apps, which turns text into a number. DateValue drops any time in the string, so the result is the date at midnight.

Per Microsoft, the text must follow one of these patterns: MM/DD/YYYY, DD/MM/YYYY, YYYY-MM-DD (slashes or dashes), MM/DD/YY, DD/MM/YY, DD Mon YYYY or Month DD, YYYY.

Method 1: Convert a Text Input to a Date (Recommended)

Use this when users type a date into a text box. A modern Text input control in Power Apps always returns text, even when the value looks like a date.

Insert a Text input and rename it txtDateInput in the Tree view on the left. Pick its Default property and type "10/08/2026", so the box starts with a date.

Text input txtDateInput selected with its Default property set to 10/08/2026

Now insert a Text label, pick its Text property and type:

Text( DateValue( txtDateInput.Text ), "dddd, mmmm d, yyyy" )

The label shows Thursday, October 8, 2026. I built a whole test bench this way: one label per formula, with its result next to it.

Power Apps DateValue test bench with the label Text formula and every result

How does this work?

DateValue reads “10/08/2026” in the user’s language. For an en-US user that’s month, day, year, so it returns October 8, 2026 at 12:00 AM.

Text then formats that date with the custom pattern. Without Text, the label shows the default short format.

Method 2: Convert a SharePoint Text Column to a Date

Use this when the date lives in a text column, like RequestedOnText. Insert a Vertical gallery, set its Items to 'Service Requests', and display the SharePoint list items with a label inside it:

"DateValue: " & Text( DateValue( ThisItem.RequestedOnText ), "dddd, mmmm d, yyyy" )
    & " | days until 11/02/2026: "
    & DateDiff( DateValue( ThisItem.RequestedOnText ), Date(2026, 11, 2), TimeUnit.Days )

Each row now shows a real date. Badge access #1274 holds “10/6/2026” and shows Tuesday, October 6, 2026 with 27 days to go. Laptop replacement #1276 shows 25.

Gallery converting the RequestedOnText text column to dates with days until 11/02/2026

How does this work?

ThisItem.RequestedOnText is plain text, exactly like a text box. DateValue turns it into a date, and only then can DateDiff count the days.

Pro Tip: If you own the list, change RequestedOnText to a real Date column. Then you don’t need DateValue at all, and filters on it can be delegated.

Method 3: Read DD/MM Dates With a Language Tag

Use this when the text comes from people or systems outside the US. Pass the language the text was written in:

DateValue( "10/08/2026" )            // en-US user: October 8, 2026
DateValue( "14/10/2026", "en-GB" )   // October 14, 2026
DateValue( "10/14/2026", "en-GB" )   // February 10, 2027 (!)

How does this work?

The language argument tells Power Apps how the string was written, not how to show the result. The full tag “en-GB” means day first, and it worked fine in my test.

So here’s the catch: the third line doesn’t fail. “10/14/2026” read day-first has month 14, and Power Apps rolls it over into February 10, 2027.

I even wrapped it in IfError to catch a failure, and no error came back:

IfError( Text( DateValue( "10/14/2026", "en-GB" ), "mmmm d, yyyy" ), "Error: " & FirstError.Message )
IfError around DateValue with en-GB returning February 10, 2027 instead of an error

That’s why you shouldn’t guess. Without the argument, the result depends on each user’s settings, so one app can read the same string two ways.

Method 4: Convert ISO 8601 and Month-Name Dates

ISO 8601 is the international year-month-day format, like “2026-10-14”. It’s the safest input because it can’t be misread. Month names are safe too:

DateValue( "2026-10-14" )         // October 14, 2026
DateValue( "October 14, 2026" )   // 10/14/2026

How does this work?

Both rows on my test bench returned October 14, 2026. If a system sends you dates, ask for ISO 8601.

If the string also carries a time and a Z, like “2026-10-14T14:30:00Z”, that time is UTC (Coordinated Universal Time, not your local time).

Use DateTimeValue and check the result in your time zone. This also matters when you create a Power Apps collection from Excel with date columns.

Method 5: Use DateTimeValue or TimeValue When You Need the Time

DateValue throws the time away. On my bench, “10/14/2026 9:30 PM” came back as 10/14/2026 at 12:00 AM.

Keep the time with DateTimeValue, or read only the time with TimeValue:

DateValue( "10/14/2026 9:30 PM" )       // 10/14/2026 12:00 AM
DateTimeValue( "10/14/2026 9:30 PM" )   // 10/14/2026 09:30 PM
TimeValue( "9:30 PM" )                  // 09:30 PM

How does this work?

All three functions take the same optional language argument. TimeValue ignores any date in the string, the same way DateValue ignores the time. You can see all three rows in the Method 1 screenshot.

Handle Invalid Text With IfError and IsError

Users will type “hello” or “next Friday”. DateValue doesn’t quietly return blank. It raises a runtime error: “The value ‘hello’ cannot be converted to a date or time value.”

Wrap it in IfError to fall back to a value:

Text( IfError( DateValue( "hello" ), Date(2026, 10, 14) ), "mm/dd/yyyy" )   // 10/14/2026

To block a Submit button until the date is valid, test it with IsError. It’s the same idea as our other Power Apps form validation examples:

If( IsError( DateValue( txtDateInput.Text ) ), DisplayMode.Disabled, DisplayMode.Edit )

IsError(DateValue("hello")) returned true. IsBlank is the wrong test: it raised the same error. Use IsBlankOrError if an empty box should also disable the button.

Filter a SharePoint Date Column With DateValue

Say users type a date and you want the requests due that day. My first try used =, and it returned 0 rows. Here’s the day-range version that works when you filter the SharePoint list in Power Apps:

Filter(
    'Service Requests',
    DueDate >= DateValue( txtDateInput.Text ),
    DueDate < DateAdd( DateValue( txtDateInput.Text ), 1, TimeUnit.Days )
)

I put this in the Items property of a gallery named galDue. With 10/08/2026 typed in, it showed both requests, #1276 and #1556, with no delegation warning.

Gallery galDue with the DateValue day-range Filter on the SharePoint DueDate column

How does this work?

DateValue runs on the text box once, not on each row. SharePoint then gets two plain DueDate comparisons. Delegation means SharePoint runs the filter itself instead of Power Apps checking only the first 500 rows, and Microsoft lists <, <=, >, >= on date columns as delegable.

Proof: #1556 sits past row 500 of the 620-item list, and it still showed up. Any date from midnight up to the next midnight matches, so the time stored with the date can’t trip you up.

The opposite pattern isn’t delegable: DateValue(RequestedOnText) >= d runs on every row of a text column. Our post on how to filter a Power Apps gallery by date has more range examples.

Compare Dates and Format the Result With Text()

Once text is a date, the normal date tools work. To count days from the typed date to a deadline, use the Power Apps DateDiff function:

DateDiff( DateValue( "10/08/2026" ), Date(2026, 11, 2), TimeUnit.Days )   // 25

To check if a request is late, compare it with Today(). Our guide to the Now, Today and IsToday functions explains why Today() is the right partner for a date-only value.

For display, pass the date to Text():

FormulaResult for 10/08/2026
Text(d, DateTimeFormat.ShortDate)10/8/2026 (adjusts to each user)
Text(d, DateTimeFormat.LongDate)Thursday, October 8, 2026
Text(d, "mm/dd/yyyy")10/08/2026
Text(d, "mmm d, yyyy")Oct 8, 2026
Text(d, "yyyy-mm-dd")2026-10-08

Watch mm: right after hh or before ss it means minutes, anywhere else it means the month. The same rules apply when you change the date format in a Power Apps data table.

DateValue vs DatePicker.SelectedDate

If you control the screen, a date picker is usually better than a text box. SelectedDate is already a date, so there’s nothing to convert. Our Power Apps date and time picker guide shows the setup.

In my test, a date picker set to Date(2026,10,8) and DateValue("10/08/2026") compared as equal: true. Same value, two ways in.

Here’s the label formula I used, with a date picker named dpDue:

"dpDue.SelectedDate = DateValue(text)? " & ( dpDue.SelectedDate = DateValue( txtDateInput.Text ) )
Label comparing dpDue.SelectedDate with DateValue of the text input, showing true
  • Date picker: users pick from a calendar, no format mistakes, no DateValue needed.
  • Text input + DateValue: fast typing for power users, or text from SharePoint, Excel or an API.

Wrapping a date picker in DateValue is a common mistake. Use it as is, and reach for the DateAdd function in Power Apps when you need to shift it by days or months.

Which Method Should You Use?

Your textUse
US date from a text box or text columnDateValue(x) or DateValue(x, "en-US")
Day-first date (UK, EU)DateValue(x, "en-GB")
ISO 8601 or month-name dateDateValue(x)
Date and time you need to keepDateTimeValue(x)
Time onlyTimeValue(x)
Filter a SharePoint date columnDay range with >= and < DateAdd(..., 1, TimeUnit.Days)

Common DateValue Errors

  • “The value cannot be converted to a date or time value”: the text isn’t a supported date. Wrap it in IfError or check it with IsError.
  • Wrong type error: you passed a date column or SelectedDate. It’s already a date, so drop DateValue.
  • Date a few months off: the language reads day and month the other way, and an impossible month rolls over. Add the language tag.
  • Filter returns nothing: you used = on a date column. Use the day-range filter.

Things to Keep in Mind

  • DateValue ignores the time. Fix: use DateTimeValue when the hour matters.
  • A swapped day and month doesn’t error, it rolls over. Fix: pass “en-US” or “en-GB” for shared apps.
  • Date() adds 1900 to years below 1900: Date(1899,12,30) gave 12/30/3799 in my test. Fix: don’t copy Excel serial tricks that start from 1899.
  • The language argument changes how text is read, not how it’s shown. Fix: format output with Text().

If you build apps like this at work, our Power Apps training course covers dates, forms and SharePoint lists on real projects.

Here are a few more date posts to read next:

Frequently Asked Questions

What does DateValue do in Power Apps?

DateValue converts a text string that contains a date, such as “10/08/2026”, into a date value. Any time in the string is ignored, so the result is that date at 12:00 AM.

How do I convert dd/mm/yyyy text to a date in Power Apps?

Pass a day-first language tag as the second argument: DateValue(“14/10/2026”, “en-GB”) returns October 14, 2026. Without it, the user’s own language decides how the text is read.

What is the difference between DateValue and DateTimeValue?

DateValue keeps only the date and drops the time. DateTimeValue keeps both, so “10/14/2026 9:30 PM” stays at 9:30 PM. TimeValue keeps only the time.

What happens when DateValue gets invalid text?

It raises an error such as “The value ‘hello’ cannot be converted to a date or time value.” Catch it with IfError to use a fallback date, or test it with IsError.

Where can I find the official DateValue reference?

Microsoft lists every supported format and the language argument in DateValue, TimeValue, and DateTimeValue functions.