@Hornet да. создай переменную "время старта", получив туда текущую дату. проверяй в цикле, через каждые например 5 секунд, новую дату минус твое время старта. Когда результат будет больше чем час в миллисекундах (10006060), считай время пришло)
@brotok вам лучше всего это составлять в конструкторе на условия функций. А там уже запись. В общем у вас буит 4 if -а только смотрите а если у вас совпадет все? При таком методе он 4 раза и запишет