I have build an automation where every 12 months a new year is being created. After a year is being created, months are created. For these months I would like to automatically set the duration.
The duration for every month is known when created, except for february.
January is always Jan 1 - Jan 31 + ToText(Year(Today()) + 1)
Is there a way to create a formula like this to set the duration?
February is slightly different. Start date is always known → Feb 1.
The end date is either Feb 28th or Febr 29th.
We know that every 4 year the result should be Feb 29th + ToText(Year(Today()) + 1).
To know when this occurs we can divide the year by 4. If the result is a whole number, then February has 29 days. Otherwhise February has 28 days.
The easiest way to get the last day of any given month is to get the first day of the next month, and then subtract a day.
So to get the number of the last day of February next year, try something like this:
Day(Date(Year(Today()) + 1,3,1) - Days(1))
Explanation: Date(Year(Today()) + 1,3,1) will get you 1st March 2024, Date(Year(Today()) + 1,3,1) - Days(1) will get you the previous day (e.g. 29th February 2024) Day(Date(Year(Today()) + 1,3,1) - Days(1)) gets you the number 29
You may actually find that your formulas for other months could be simplified as well, using the same principle, so you wouldn’t need to ‘hard-code’ any specific number of days in the month.
This is better than I was hoping for! One last question in addition to the above.
With those dates you have either a start datum or an end date of a month. Is there a way to combine those to into one single date field with start and end date?