Помогите Конвертация времени

  • Автор темы Автор темы Ledzu
  • Дата начала Дата начала

Ledzu

Новичок
Пользователь
Баллы
6
Добро вечера форумчани! Мне нужно сделать конвертацию времени в минуты, часы
Statistic.PLAY_ONE_TICK. Как можно это реализовать?
 
Исходи из того, что 1 тик равен 50 миллисекундам. Дальнейшие преобразования можно производить при помощи класса Duration или банальным делением и остатком от деления
 
Исходи из того, что 1 тик равен 50 миллисекундам. Дальнейшие преобразования можно производить при помощи класса Duration или банальным делением и остатком от деления

Таким методом я получаю время. Получается мне надо создать класс и там сравнивать тики и их преобразовывать в секунды/минуты ?
upload_2023-2-6_0-29-28.png
 
Таким методом я получаю время. Получается мне надо создать класс и там сравнивать тики и их преобразовывать в секунды/минуты ?
Посмотреть вложение 64358
Не надо никакие классы создавать, класс Duration есть в самой джаве. И не понял, с чем ты хочешь тики сравнивать.

Вот пример использования Duration:
PHP:
// Получение продолжительности игры в тиках
int ticks = player.getStatistic(Statistic.PLAY_ONE_TICK);

// Перевод тиков в миллисекунды
int mills = ticks * 50;

// Создание объекта Duration из миллисекунд
Duration duration = Duration.ofMillis(mills);

// Получение необходимых единиц измерения
long days = duration.toDays();
long hours = duration.toHoursPart();
long minutes = duration.toMinutesPart();
long seconds = duration.toSecondsPart();

// Конвертация единиц измерения в строку
String totalPlayTime = String.format("%d %02d:%02d:%02d", days, hours, minutes, seconds);

Если не хочешь использовать Duration, то самостоятельно математически высчитывай единицы измерения путём деления и получения остатков от деления
 
Последнее редактирование:
Не надо никакие классы создавать, класс Duration есть в самой джаве. И не понял, с чем ты хочешь тики сравнивать.

Вот пример использования Duration:
PHP:
// Получение продолжительности игры в тиках
int ticks = player.getStatistic(Statistic.PLAY_ONE_TICK);

// Перевод тиков в миллисекунды
int mills = ticks * 50;

// Создание объекта Duration из миллисекунд
Duration duration = Duration.ofMillis(mills);

// Получение необходимых единиц измерения
long days = duration.toDays();
long hours = duration.toHoursPart();
long minutes = duration.toMinutesPart();
long seconds = duration.toSecondsPart();

// Конвертация единиц измерения в строку
String totalPlayTime = String.format("%d %02d:%02d:%02d", days, hours, minutes, seconds);

Если не хочешь использовать Duration, то самостоятельно математически высчитывай единицы измерения путём деления и получения остатков от деления


В returne что нужно указать?
 
В returne что нужно указать?
Ну что тебе надо вернуть в методе - то и возвращай. Я-то откуда знаю, что у тебя там?
Если совсем всё туго - изучай джаву, иначе так и будешь на каждом шаге спотыкаться
 
Ну что тебе надо вернуть в методе - то и возвращай. Я-то откуда знаю, что у тебя там?
Если совсем всё туго - изучай джаву, иначе так и будешь на каждом шаге спотыкаться


Смотри, возвращаю totalPlayTime и жалуется на то что метод Integer. А изменить не могу, потому что код другой был зависим от Integer. Если я в returne пишу
Integer.valueOf(totalPlayTime); то ошибка в кмд
 
Смотри, возвращаю totalPlayTime и жалуется на то что метод Integer. А изменить не могу, потому что код другой был зависим от Integer. Если я в returne пишу
Integer.valueOf(totalPlayTime); то ошибка в кмд
Ну и как ты собираешься использовать время в другом формате, если ты не можешь изменить тип возвращаемого значения в методе? Как ты себе это представляешь? Ну создай отдельный метод, я не знаю.
С подобными вопросами тебе туго придётся. Я не смогу тебя джаве научить, поэтому изучай, разбирайся, смотри туториалы, практикуйся
 
Назад
Верх