Leap years and time display
The used calendar is the Gregorian one.
Leap years are "de facto" taken into account.
But remember that only revolved months, days, hours, minutes and seconds are taken into account.
A difference of one hour can also be noticed when daylight saving time is applied.
Let's see the display :
d days (y years, m months and d' days) h hours, m minutes
The first part "d days h hours, m minutes" is computed with the real time in milliseconds between
the event date and time and today's date and time.
It doesn't count the calendars days but the real elapsed time, so leap years are "de facto" included.
The second part (in parentheses) can be confusing and let think leap years are not taken into accounts:
Let's say an event happened on January 1st at 8 AM
The January month (which is 31 days) won't be revolved until February 1st at 8 AM.
So on February 1st at 7:59:59 AM, the display will be :
(O year, 0 month, 30 days), 23 hours, 59 minutes
On February 1st at 8:00:01 AM, the January month will be revolved, but not the next day,
therefore the display will be :
(O year, 1 month, 0 day), 0 hours, 0 minutes and 1 second
As well on January 14st at 7:59:59 AM, the display will be :
(O year, 1 month, 12 days), 23 hours, 59 minutes
At 8:00:01 AM, the display will be :
(O year, 1 month, 13 days), 0 hours, 0 minutes and 1 second
It would be less confusing that on February 14st at 8:00:01 AM the display would be
(O year, 1 month, 14 days)
but it wouldn't be the truth, the 14st day has just begun but is not yet revolved!