Подскажите методы выведения на экран с помощью блока If [требует правки]

256
12 января 2017, 04:43

Нужно сделать так, что если наступает определённое время, то на экране выводится, что принимает другой врач. Можно ли написать как-то с помощью примера ниже?

if (i > 16:00) {
    принимает другой врач к примеру
}
Answer 1

Это делается довольно просто:

LocalTime changeTime = LocalTime.of(16, 0);
if (LocalTime.now().isBefore(changeTime))
   System.out.println("принимает первый врач");
else
   System.out.println("принимает второй врач");

Если же вы хотите это делать асинхронно, то можно запустить таймер:

LocalTime changeTime = LocalTime.of(16, 0);
LocalTime now = LocalTime.now();
long delay;
if (now.isAfter(changeTime))
        delay =
                changeTime.getLong(ChronoField.MILLI_OF_DAY)
                        - now.getLong(ChronoField.MILLI_OF_DAY)
                        + TimeUnit.DAYS.toMillis(1);
else
        delay =
                changeTime.getLong(ChronoField.MILLI_OF_DAY)
                        - now.getLong(ChronoField.MILLI_OF_DAY);

new Timer().scheduleAtFixedRate(
            new TimerTask() {
                @Override
                public void run() {
                    System.out.println("принимает второй врач");
                }
            },
            delay, TimeUnit.DAYS.toMillis(1));

Он будет выводить строку раз в сутки, в 16:00

Answer 2

Для этого лучше использовать библиотеку Quartz. Она не очень простая, но очень гибкая. Примере можно поискать тут.

Либо посмотреть в сторону Spring sheduler. Стоит обратить внимание на параметр cron, синтаксис схож с Quart, подробнее можно посмотреть тут.

В вашем случае крон должен получится какой-то такой "0 0 16 * * *"

READ ALSO
Условие IN в запросе к Dynamo DB

Условие IN в запросе к Dynamo DB

Здравствуйте, как сделать вместо Id = :first OR Id = :second условие с использование IN ?

273
Как определить расширение файла?

Как определить расширение файла?

Я пытаюсь сделать свой файловый менеджер и столкнулся с такой проблемойКогда я пытаюсь выбрать файл, а не директорию, то моя программа слетает

312
Динамический массив (Java)

Динамический массив (Java)

Задача : Массив состоит из натуральных чисел

511