1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Ledzu, 6 фев 2023.

  1. Автор темы
    Ledzu

    Ledzu Новичок Пользователь

    Баллы:
    6
    Добро вечера форумчани! Мне нужно сделать конвертацию времени в минуты, часы
    Statistic.PLAY_ONE_TICK. Как можно это реализовать?
     
  2. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Исходи из того, что 1 тик равен 50 миллисекундам. Дальнейшие преобразования можно производить при помощи класса Duration или банальным делением и остатком от деления
     
  3. Автор темы
    Ledzu

    Ledzu Новичок Пользователь

    Баллы:
    6
    Таким методом я получаю время. Получается мне надо создать класс и там сравнивать тики и их преобразовывать в секунды/минуты ?
    upload_2023-2-6_0-29-28.png
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Не надо никакие классы создавать, класс 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"dayshoursminutesseconds);
    Если не хочешь использовать Duration, то самостоятельно математически высчитывай единицы измерения путём деления и получения остатков от деления
     
    Последнее редактирование: 6 фев 2023
  5. Автор темы
    Ledzu

    Ledzu Новичок Пользователь

    Баллы:
    6

    В returne что нужно указать?
     
  6. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ну что тебе надо вернуть в методе - то и возвращай. Я-то откуда знаю, что у тебя там?
    Если совсем всё туго - изучай джаву, иначе так и будешь на каждом шаге спотыкаться
     
  7. Автор темы
    Ledzu

    Ledzu Новичок Пользователь

    Баллы:
    6

    Смотри, возвращаю totalPlayTime и жалуется на то что метод Integer. А изменить не могу, потому что код другой был зависим от Integer. Если я в returne пишу
    Integer.valueOf(totalPlayTime); то ошибка в кмд
     
  8. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ну и как ты собираешься использовать время в другом формате, если ты не можешь изменить тип возвращаемого значения в методе? Как ты себе это представляешь? Ну создай отдельный метод, я не знаю.
    С подобными вопросами тебе туго придётся. Я не смогу тебя джаве научить, поэтому изучай, разбирайся, смотри туториалы, практикуйся
     

Поделиться этой страницей