Be concise.
Be useful.
All contributions dictatorially edited by webmasters to match personal tastes.
Please do not paste any copyright violating material.
Please try to avoid dependencies to third-party libraries and frameworks.
enum Unit {
ms(1), s(1_000 * ms.x), m(60 * s.x),
h(60 * m.x), d(24 * h.x),
y(365.2425 * d.x);
double x;
Unit(double x) { this.x = x; }
static Map<Unit, Integer> parse(long ms) {
Map m = new LinkedHashMap<>();
double x = ms, y;
for (Unit u : of(values()).reversed())
if (x >= (y = u.x)) {
m.put(u, (int) (x / y));
x = x % y;
}
return m;
}
}
Map<Unit, Integer> m = Unit.parse(a);