I have a countdown/up timer in a widget, and I want to format the timer to something more readable than the default that Text.init(myDate, style: .timer)
provides.
The default outputs a timer for just the hours in the date range. So, for example, a timer of 1 week, 5 hours, 12 minutes and 45 seconds will appear as 173:12:45
(which is 7 * 24 + 5 = 173) - not very user-friendly.
An ideal output would be 1 week 05:12:45
. Is there any way of doing that?
I've tried a number of different ways using TimeInterval
, DateInterval
, and modding (%
) values - like modding the hours count by 168 to get a number of weeks - but they're pretty much useless when there are never a set number of days or weeks in a year due to leap years.
It would be great if you would provide actual code examples rather than saying to use a certain API, as I could very easily go down a rabbit hole like I have with TimeInterval
and DateInterval
. Thanks!