Нужно сделать так, что если наступает определённое время, то на экране выводится, что принимает другой врач. Можно ли написать как-то с помощью примера ниже?
if (i > 16:00) {
принимает другой врач к примеру
}
Это делается довольно просто:
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
Для этого лучше использовать библиотеку Quartz. Она не очень простая, но очень гибкая. Примере можно поискать тут.
Либо посмотреть в сторону Spring sheduler. Стоит обратить внимание на параметр cron
, синтаксис схож с Quart, подробнее можно посмотреть тут.
В вашем случае крон должен получится какой-то такой "0 0 16 * * *"
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, как сделать вместо Id = :first OR Id = :second условие с использование IN ?
Я пытаюсь сделать свой файловый менеджер и столкнулся с такой проблемойКогда я пытаюсь выбрать файл, а не директорию, то моя программа слетает