On 30 May 2018 at 18:36, Martin Buchholz <marti...@google.com> wrote: > Stephen/Doug: is there any reason we didn't add conversions between Duration > and TimeUnit when we added conversions to ChronoUnit?
I don't remember the idea being discussed. The proposed implementation seems reasonable. thanks Stephen > Here's a strawman: > > /** > * Converts the given time duration to this unit. > * > * @param duration the time duration > * @return the converted duration in this unit, > * or {@code Long.MIN_VALUE} if conversion would negatively overflow, > * or {@code Long.MAX_VALUE} if it would positively overflow. > */ > public long convert(Duration duration) { > long s = convert(duration.getSeconds(), SECONDS); > if (s == Long.MIN_VALUE) return s; > long n = convert(duration.getNano(), NANOSECONDS); > assert n >= 0 && n < 1_000_000_000; > return (s + n < s) ? Long.MAX_VALUE : s + n; > } >