cancel
Showing results for
Did you mean:
Frequent Visitor

## Manipulating Flow Excel Date

Hello,

I have an excel table that I want to use to populate a Journal through flow.

The excel table looks like this: The column is formatted to the Date Format:

When Flow Picks up the table (List Rows Present in a Table Action) it is reading this date as a String:

I have tried all sorts of conversions that I can think of but it just doesn't like my string! Does anyone have any idea how I can convert the 43710 to dd/MM/yyyy?

Thankyou fo

1 ACCEPTED SOLUTION

Accepted Solutions
Super User II

Excel stores internally the dates as sequential serial numbers starting from January 1, 1900, to enable calculations.

So you need to define a date for January 1, 1900, and add the value returned by Excel. Notice that that value is serial number 1 so you need to take two days in the final calculation. Why 2? The first is because the count starts at one and not zero, so you need to take that number off; otherwise, you'll. The other one is a little bit more tricky. For some reason, if you only subtract one, it will display the next day.

Here's a structure of steps.. You can do them all in the "compose" action with formula, but I wanted to show each step.

First, the date is a string, so we need to convert it into an int.

`int(body('Get_a_row')?['Date'])`

Then take the two days off

`addDays('01/01/1900',variables('Date'),'dd/MM/yyyy')`

With this, you'll get a date that you can use

If you like my response, please give it a Thumbs Up.

Cheers
Manuel

5 REPLIES 5
Super User II

Excel stores internally the dates as sequential serial numbers starting from January 1, 1900, to enable calculations.

So you need to define a date for January 1, 1900, and add the value returned by Excel. Notice that that value is serial number 1 so you need to take two days in the final calculation. Why 2? The first is because the count starts at one and not zero, so you need to take that number off; otherwise, you'll. The other one is a little bit more tricky. For some reason, if you only subtract one, it will display the next day.

Here's a structure of steps.. You can do them all in the "compose" action with formula, but I wanted to show each step.

First, the date is a string, so we need to convert it into an int.

`int(body('Get_a_row')?['Date'])`

Then take the two days off

`addDays('01/01/1900',variables('Date'),'dd/MM/yyyy')`

With this, you'll get a date that you can use

If you like my response, please give it a Thumbs Up.

Cheers
Manuel

Regular Visitor

I've been tossing this into the fx field and it seems to work pretty well.

The part in red comes from the excel date field, I just converted the serial date to an int in line. I also figured it was faster to just change the start date to account for the 2 days added in the count. @manuelstgomes gave a great explanation in his answer that lead me to my inline tweak.

New Member

You were right!  With '01/01/1900' being used, the output was 2 days too many, while '12/30/1899 is accurate.

Helper I

Yesss!! I used this as an expression, and it worked without all the variables and conversions. Thank you very much!!

New Member

For me was enough with select ISO 8601 in the DateTime format when get the rows in the table excel:

Announcements

#### Experience what’s next for Power Virtual Agents

See the latest Power Automate innovations, updates, and demos from the Microsoft Business Applications Launch Event.

#### Meet the Power Automate Super Users!

Many congratulations to the Season 1 2021 Flownaut Crew!

#### Power Platform ISV Studio

ISV Studio is the go-to Power Platform destination for ISV’s to monitor & manage applications post-AppSource publish.

Top Solution Authors
Top Kudoed Authors
Users online (39,594)