question: public static long [ ] breakdown ( long t , @ NonNull TimeUnit unit , boolean roundMillis ) { long days = unit . toDays ( t ) ; long hours = unit . toHours ( t ) % 24 ; long minutes = unit . toMinutes ( t ) % 60 ; long seconds = unit . toSeconds ( t ) % 60 ; long msecs = unit . toMillis ( t ) % 1000 ; if ( roundMillis ) { if ( msecs >= 500 ) { seconds ++ ; msecs = 0 ; if ( seconds == 60 ) { minutes ++ ; seconds = 0 ; if ( minutes == 60 ) { hours ++ ; minutes = 0 ; if ( hours == 24 ) { days ++ ; hours = 0 ; } } } } } return new long [ ] { days , hours , minutes , seconds , msecs } ; }
target:  Returns a breakdown of a given time into its values in hours, minutes, seconds and milliseconds.