Update: 28 February 2020, This problem has now been resolved and the Add to time now calculates the next month better.

 

Today I came across problem with calculating dates in Microsoft Flow.

Today’s date is 30 April 2018. I did a calculation using the Date connector in Microsoft Flow and found that add 1 month gives me 31 May 2018. This is potentially better than expected as I found the last  day of the month.

Microsoft Flow - Next Month is okay, but don't go any further! Microsoft Flow, Microsoft Office 365 lastdayofthemonth

But now I’m trying to add 3 months

Microsoft Flow - Next Month is okay, but don't go any further! Microsoft Flow, Microsoft Office 365 wrong

Now I’m getting 29 July 2018. We seem to have lost a few days there!

Then I thought maybe adding 3 times 1 month will give me the result.

Microsoft Flow - Next Month is okay, but don't go any further! Microsoft Flow, Microsoft Office 365 2ndmonth

addToTime expression

After the above tests I tried using the addToTime function instead:

addToTime(variables(‘Date’),1,’Month’)
But these give the same result

I’m not sure what to suggest at the moment other than upvoting the following bug

https://powerusers.microsoft.com/t5/I-Found-A-Bug/Add-months-doesn-t-work/m-p/111352#M2134

Avatar for Pieter Veenstra

By Pieter Veenstra

Business Applications Microsoft MVP working as the Head of Power Platform at Vantage 365. You can contact me using contact@sharepains.com

3 thoughts on “Microsoft Flow – Next Month is okay, but don’t go any further!”
  1. This has been driving me crazy as well, and I believe it should continue to be a bug as the desired normal functionality is not working as expected.

    That being said, I do believe I have found the reason behind the inconsistency and possible methods to fix this. This method is expected to take the input of interval and add that number of months to the current date, however through initial testing, the actual functionality takes the interval input and adds the number of days in the month corresponding to that number and adds it to the date. So if the interval is 1 it adds 31 because 1=January, 2 would be 28 because 2=February, 3 would be 31 because 3=March and so on and so on.

    Here is the output data from tests run with the starting date of 05/10/2018:

    Interval Date Output Difference in Days
    0 05/10/2018 0
    1 06/10/2018 31
    2 07/08/2018 28
    3 08/08/2018 31
    4 09/07/2018 30
    5 10/08/2018 31
    6 11/07/2018 30
    7 12/08/2018 31
    8 01/08/2019 31
    9 02/07/2019 30
    10 03/10/2019 31
    11 04/09/2019 30
    12 05/10/2019 31

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from SharePains by Microsoft MVP Pieter Veenstra

Subscribe now to keep reading and get access to the full archive.

Continue reading