Я бы не думал об этом как о дате и времени как таковых. Я бы подумал об этом как о моменте времени . Когда вы генерируете код подтверждения, отработайте момент времени «24 часа» и сохраните его. Затем просто проверьте «текущий момент» при подтверждении кода подтверждения.
Вы можете использовать System.currentTimeMillis()
, чтобы получить мгновенное значение long
в миллисекундах. (Это с эпохи Unix, но здесь это на самом деле не имеет значения.) На самом деле, я бы предложил создать своего рода интерфейс Clock
, который можно использовать для определения текущего момента, с реализацией, использующей System.currentTimeMillis()
- или Время Joda эквивалент. Таким образом, вы можете упростить модульное тестирование кода.
Итак, возьмите текущее количество миллисекунд, добавьте к нему подходящую продолжительность (опять же, в миллисекундах), и это ваш момент истечения.