Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
UncleLewis
Resolver III
Resolver III

Get Date As Text

Hi all,

 

How can I get Date from DateTime field as Text in format "YYYYMMDD"?

I tried Date.ToText([mydate],[Format = "YYYYMMDD"])

Buget getting error:

 

Parameter Error: We couldn't convert the text value to dateusing the specified format. The format includes a time component. Details: Format = yyyymmdd

 

Thanks

-w

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Try this:

 

Date.ToText(Date.From([mydate]),[Format = "YYYYMMDD"])

 

--Nate

View solution in original post

10 REPLIES 10
UncleLewis
Resolver III
Resolver III

Thanks Nate,

That is giving me an error:

Expression.Error:We cannot convert the value 0 to type Text.
Details:
Value = 0
Type = [Type]

Where mytime = 2/22/2022 9:10:31 AM

Thanks,
-w

Anonymous
Not applicable

My bad!

 

Text.Select(Date.ToText(Date.From([mydate]),[Format = "YYYYMMDD"]), {"0".."9"})

 

--Nate

Thanks Nate,

That works for YYYYMMDD, I'm trying to get to YYYYMMDD_HHMMSS

I change the format string to YYYYMMDD_HHMMSS
But that is returning a format error

Could a solution be to split the date, time into 2 different fields, convert each field to text, then concatenate each field to the id so the final PK is in the format id_YYYYMMDD_HHMMSS?

 

Thanks,

-w

Anonymous
Not applicable

If it's a datetime field, just use DateTime.ToText, and remove the Date.From. 

--Nate

Anonymous
Not applicable

OK, in that case I would wrap the whole formula with Text.Select, like:

 

= Text.Select(Date.ToText(Date.From([mydate]),[Format = "YYYYMMDD"]), {0..9})

 

This will return just the "numbers".  You may also wich to consider using Date.ToRecord and Time.ToRecord for these.  These break down each date into a field for year, month and day, and hour, minute, second, respectively.

 

--Nate

UncleLewis
Resolver III
Resolver III

Thanks Nate,

 

I have a datetime field

Im trying to convert the date to test in the format YYYYMMDD and the time to text in the format HHMMSS or something similar

My end game it to concatenate to an id to create a unique key since the id can have several rows as a workflow executes.

Thanks,

-w

UncleLewis
Resolver III
Resolver III

The same pattern does not appear to work for time - why is that?

Here is what I tried:

=Time.ToText(Time.From([mytime]),[Format = "HHMMSS"])
Error: Parameter.Error: We couldn't convert the the text value to time using the specified format. The format includes a date component.

Thanks,

-w

Anonymous
Not applicable

For Time.FromText, it's , [Format = "hh:mm:ss"])

 

Power Query thinks "MM" is months.

 

--Nate

UncleLewis
Resolver III
Resolver III

Perfect - Thanks Nate!

Anonymous
Not applicable

Try this:

 

Date.ToText(Date.From([mydate]),[Format = "YYYYMMDD"])

 

--Nate

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.