Botre Posted February 19, 2015 Share Posted February 19, 2015 (edited) LAST UPDATE: MARCH 6, 2015 This is about distribution not conversion. This is not the most effective way to do it: many (if not all) of the inner multiplications are redundant, but I think they are helpful to demonstrate the logic behind the calculations. int totalSeconds = 90600; // Variable byte secondsPerMinute = 60; // "Constant" byte minutesPerHour = 60; // "Constant" byte hoursPerDay = 24; // "Constant" int days = totalSeconds / (secondsPerMinute * minutesPerHour * hoursPerDay); int hours = (totalSeconds % (secondsPerMinute * minutesPerHour * hoursPerDay)) / (secondsPerMinute * minutesPerHour); int minutes = ((totalSeconds % (secondsPerMinute * minutesPerHour * hoursPerDay)) % (secondsPerMinute * minutesPerHour)) / secondsPerMinute; int seconds = ((totalSeconds % (secondsPerMinute * minutesPerHour * hoursPerDay)) % (secondsPerMinute * minutesPerHour)) % secondsPerMinute; private int[] distributeSeconds(long seconds) { int d[] = new int[4]; d[0] = (int) (seconds / 86400); // Days. d[1] = (int) ((seconds % 86400) / 3600); // Hours. d[2] = (int) (((seconds % 86400) % 3600) / 60); // Minutes. d[3] = (int) (((seconds % 86400) % 3600) % 60); // Seconds. return d; } Edited March 6, 2015 by Botre 1 Link to comment Share on other sites More sharing options...