How to best present end date to the user? Inclusive, exclusive, 23:59, something else?

In our app you can select a start date and the app calculates the end date (we're talking about subscriptions here). This is from midnight to midnight, so the actual points in time are, for example:

2020-05-18 00:00:00 to 2020-05-25 00:00:00

So the period starts on the midnight of the 18th, runs all day long, then a few more days, then stops on the midnight between the 24th and the 25th. 24th is included in the interval; 25th is not. But the timestamp itself is the midnight of the 25th.

So how to best communicate this to the user? Some options:

  • 25th May, 2020 - matches the timestamp, but can be misleading. People might thing that the 25th is included.
  • 24th May, 2020 - still can be misleading. Someone might think that the 24th is NOT included. But this is my personal favorite.
  • 24th May, 2020 (inclusive) - wordy? Is this clear enough?
  • 24th May, 2020, 23:59:59 - Dunno, looks kinda ugly to me, but it is kinda accurate....

Or maybe something else entirely?