сравнить дату и время в JS - PullRequest
0 голосов
/ 12 января 2019

Я аутентифицирую пользователя, используя oAuth2, который дает мне маркер истечения срока действия.

Маркер истечения - на 3600 (что означает один час, согласно стандарту oauth)

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

Чтобы посмотреть, не истек ли токен, я думаю о сохранении значения текущего Date.now () и значения Date.now () через один час.

Проблема в том, что date.now() дает значение в long int, т.е.

let date = Date.now() 
console.log(date)

Теперь я не могу понять, как я могу сравнить время здесь. Может ли мне помочь соменон?

Ответы [ 4 ]

0 голосов
/ 14 января 2019

Поскольку Date.now возвращает значение времени и всегда есть ровно 3,6e6 мс в часе ECMAScript, вы можете просто добавить 3,6e6, чтобы получить значение времени за один час, например,

var now = Date.now();
var expires = now + 3.6e6;

console.log(`expired yet? ${now > expires}`);
console.log(`now    : ${new Date(now).toLocaleString()}\nexpires: ${new Date(expires).toLocaleString()}`);
0 голосов
/ 12 января 2019
var time=new Date()
var now=String(time.getHours())+":"+String(time.getMinutes())+":"+String(time.getSeconds());

Это даст вам время в формате H: M: S. Формат и это будет строка.

0 голосов
/ 12 января 2019

Вот пример, где сравнивают дату:

Date.prototype.addHours= function(h){ //simulation after 1 hour
    this.setHours(this.getHours()+h);
    return this;
}

var dateOld = new Date();
var dateNow = new Date().addHours(1);//test after 1 hour

//output: false
console.log(dateOld.getTime() === dateNow.getTime());//compare the date

Надеюсь, это поможет

0 голосов
/ 12 января 2019

использовать new Date() intead of Date.now ()

согласно MDN

Если аргументы не предоставлены, конструктор создает JavaScript Объект Date для текущей даты и времени в соответствии с настройками системы для смещения часового пояса.

тогда даты можно напрямую сравнивать с помощью операторов > и <

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...