cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
leyburn19
Memorable Member
Memorable Member

Subtract dates

I want to subtract one date from another to get an integer result

 

I have a sharepoint list that I want to use update item  to update a number column based two other date columns.  At the moment I have tried placing an expression in teh field to be updated like sub(int('Dateto'),int('DateFrom')) but this fails.

 

Is there a way to do this?

1 ACCEPTED SOLUTION

Accepted Solutions

OK I solved this with the following flow:

 

 flow.PNG

 

Variable one expression is

 

ticks(triggerBody()?['DateFrom'])

 

Variable 2 expression is

 

ticks(triggerBody()?['DateTo'])

 

Variable 3 Expression is

 

div(sub(variables('Test2'),variables('Test')),864000000000)

 

So variable 3 gives me the result in teh number of days so that I can update the Days field in SharePoint List

 

The email is simply a way for me to monitor the process

View solution in original post

4 REPLIES 4
v-yuazh-msft
Community Support
Community Support

Hi @leyburn19,

 

You couldn't use the sub() expression to calculate the number of days difference between two dates.

Does the Dateto and DateFrom are in the same year?

 

If the Dateto and DateFrom are in the same year, you could use expression below to achieve your needs:

sub(dayOfYear(Dateto),dayOfYear(DateFrom))

You could refer to link below to learn more about the workflow definition language:

https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-definition-language

 

 

If the Dateto and DateFrom are not in the same year,I afraid that it is difficult to calculate the number of days difference between two dates in microsoft flow currently.

 

If you would like a function to calculate the number of days difference between two dates to be supported in microsoft flow, please submit an idea to Flow Ideas Forum:

https://powerusers.microsoft.com/t5/Flow-Ideas/idb-p/FlowIdeas

 

 

Best regards,

Alice

 

Yes I think a datediff function is really necessary.  That said I am exploring the Ticks().  I create two integer variables and in each one put the a tick formula

 

 

Variable 1   ticks(body('Get_item')?['DateFrom']) 

Variable 2   ticks(body('Get_item')?['DateTo'])

 

When I subtract one from the other I should get a ticks result that can be be divided by the number of ticks in a day leaving a result that should be correct.

 

I am currently stuck on the latter.  I thought a third variable but fails,  so I tried a compose but this has failed as well

OK I solved this with the following flow:

 

 flow.PNG

 

Variable one expression is

 

ticks(triggerBody()?['DateFrom'])

 

Variable 2 expression is

 

ticks(triggerBody()?['DateTo'])

 

Variable 3 Expression is

 

div(sub(variables('Test2'),variables('Test')),864000000000)

 

So variable 3 gives me the result in teh number of days so that I can update the Days field in SharePoint List

 

The email is simply a way for me to monitor the process

View solution in original post

JSullivan
Frequent Visitor

I think it's easier to use DATEDIF as a calculated third column in the list itself.

Helpful resources

Announcements
Process Advisor

Introducing Process Advisor

Check out the new Process Advisor community forum board!

MPA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

V3_PVA CAmpaign Carousel.png

Community Challenge - Giveaways!

Participate in the Power Virtual Agents Community Challenge

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Users online (1,868)