Как я могу проверить, находится ли дата / время в пределах 1 минуты от текущей даты / времени - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть токен доступа со сроком действия.Я хотел бы проверить при использовании моего токена доступа, истекает ли он в течение минуты.

Если он истекает менее чем через минуту, я хотел бы предпринять некоторые действия.

Яизо всех сил пытаясь понять, как я могу сравнить дату и время с текущей датой / временем.

Время экспирации на моем токене выглядит как 1549103089, но используя мою библиотеку авторизации 'AeroGearOAuth2', я могу получить к ней доступ и распечататькак 2019-02-02 10:13:48 +0000

1 Ответ

0 голосов
/ 02 февраля 2019

Я предполагаю, что число 1549103089 хранится в переменной Int или Double.

1549103089 представляет количество секунд с 1970/01/01 00:00:00 UTC.Таким образом, вы можете получить текущую дату в виде количества секунд с 1970 года, а затем вычесть текущую дату из 1549103089. Если число меньше 60, но больше 0, это означает, что текущая дата находится в пределах одной минуты до истечения срока годности.

let expirationDate: Double = 1549103089
let currentDate = Date().timeIntervalSince1970
if (0.0...60).contains(expirationDate - currentDate) {
    // within one minute!
}
...