Как я могу посчитать срок годности в Grails, если я знаю количество оставшегося времени? - PullRequest
0 голосов
/ 05 апреля 2019

Я хочу вставить срок действия в Redis на основе TTL. Как я могу посчитать срок годности?

Я пытаюсь использовать TimeCategory класс, вот пример:

def ttl = 3600;
def date = new Date()

TimeDuration duration = getSeconds(ttl) 

TimeDuration expiryDate = date.plus.duration

Это правильный подход к подсчету срока годности?

1 Ответ

2 голосов
/ 05 апреля 2019

Слишком сложно, если вы спросите меня.

Одной строки здесь должно быть достаточно:

Date expiryDate = new Date( System.currentTimeMillis() + ttlInSeconds * 1000l )

Убедитесь, что вы используете long числа здесь, иначе числа будут сокращены до 2147483647, что может привести к неправильным результатам для больших TTL.

...