Сравнение времени с 24-часовыми интервалами

#javascript

#javascript

Вопрос:

У меня есть 2 временные метки в JavaScript. Одна временная метка поступает из вызова Ajax в мою базу данных, а другая генерируется при загрузке скрипта.

Что я хочу сделать, так это проверить, является ли временная метка из базы данных старше, чем на 24 часа, по сравнению с меткой времени, которая была только что сгенерирована.

В моем случае временная метка базы данных всегда будет меньше текущей временной метки.

Сработает ли это?

 var currentTimestamp = Math.round(new Date().getTime() / 1000);
if((currentTimestamp - databaseTimestamp) >= 86400) {
    // Older than 24 hours
} else {
    // Less than 24 hours
}
  

… или есть способ получше?

Комментарии:

1. Вы пробовали это? Похоже, что это должно сработать, предполагая, что ваш currentTimestamp находится в секундах.

2. На самом деле я еду в автобусе на работу над iPhone, размышляя о решении проблемы, которая у меня возникнет. Я знаю, что в PHP легко проверять интервалы. Никогда не приходилось делать это вручную.

Ответ №1:

Вы должны полагаться только на время вашего сервера, так как на компьютере может быть указана неправильная дата / время.

В вашем вызове ajax вы должны получить оба значения, временную метку из базы данных и серверное время вызова ajax. Я почему бы и нет, непосредственно разница.