I'm porting an iOS app to Android, target API 22. I do a bunch of Date/TimeInterval stuff. I do it all in UTC so it just works for me.
I'm struggling with what to use for Android. There's Date (from the beginning of time, ha ha). I guess I could do duration math by converting to/from the time
milliseconds attribute. It's not clear to me what zone/rules apply to those.
I see people who seem to use Calendars as Date objects and pass those around. That seems a bit off.
And then there's the new Java 8 java.time stuff which looks pretty complete actually (ZonedDateTime, Duration, etc). But that's API 26 and newer. Is there a back port of this that's reliable?
My needs are pretty basic (I think):
grab "now" time (in UTC)
be able to subtract two times and get a time delta
be able to subtract a time delta from a time to get a new time
be able to add a time delta to a time to get a new time
be able to display/stringify times in the current/local time zone
... and as a bonus
easily instantiate given UTC times from something like ISO8601 strings, for unit testing purposes