В нотации @Scheduled
вы можете пропускать Зону, но только один часовой пояс, поэтому вам нужно управлять ею с помощью пользовательской логики.
Я полагаю, что ваша запись пользователя включена в часовой пояс, поэтому для ее достижения,Вам нужно будет настроить задание cron на запуск каждые полчаса (охватывать все часовые пояса, включая + 1/2 часа), получить все часовые пояса с полуночью и затем заставить пользователей в этих часовых поясах запускать для них логику.