Мне кажется, что вам не нужно развивать свой собственный класс; что вы будете изобретать велосипед. Я предлагаю вам использовать класс Duration
.
Для преобразования из некоторой единицы времени в Duration
:
System.out.println(Duration.of(3, ChronoUnit.HOURS));
Или альтернативно:
System.out.println(Duration.ofHours(3));
Вывод одинаков в обоих случаях:
PT3H
Это печатает немного смешно; это означает промежуток времени 3 часа. Формат: ISO 8601 .
System.out.println(Duration.of(2, ChronoUnit.DAYS));
PT48H
48 часов; это правильно.
System.out.println(Duration.of(327864523, ChronoUnit.MICROS));
PT5M27.864523S
промежуток в 5 минут 27,864523 секунды.
Если вам нужно преобразовать в миллисекунды, метод встроен:
Duration dur = Duration.of(284, ChronoUnit.MINUTES);
System.out.println("" + dur.toMillis() + " milliseconds");
17040000 миллисекунд
Duration
является частью java.time, современного Java-API даты и времени, и, конечно, хорошо работает с другими классами этого API.
Ссылки