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

Check out the new Process Advisor community forum board!

#### Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Check out how to claim yours today!

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