Java 8 / java.time решение
В качестве альтернативы TimeUnit
вы можете по какой-то причине предпочесть класс Duration из java.time package:
Duration.ofDays(1).getSeconds() // returns 86400;
Duration.ofMinutes(1).getSeconds(); // 60
Duration.ofHours(1).toMinutes(); // also 60
//etc.
Кроме того, если вы углубитесь и проанализируете, как работает метод Duration.ofDays (..), вы увидите следующий код:
return create(Math.multiplyExact(days, SECONDS_PER_DAY), 0);
где SECONDS_PER_DAY
- статическая константа, защищенная пакетом из LocalTime class.
/**
* Seconds per day.
*/
static final int SECONDS_PER_DAY = SECONDS_PER_HOUR * HOURS_PER_DAY;
//there are also many others, like HOURS_PER_DAY, MINUTES_PER_HOUR, etc.
Я думаю, что можно с уверенностью предположить, что если бы существовал какой-либо пакет, который определил бы «все раздражающие постоянные времени, такие как милисекунды / секунды / минуты», как вы их называете, я думаю, разработчики Java SDK должны были бы их использовать. 1020 *
Почему этот пакет LocalTime
констант защищен и не является публичным, что является хорошим вопросом, я считаю, что для этого есть причина. На данный момент похоже, что вам действительно нужно копировать их и поддерживать самостоятельно.