Определение разницы между временем клиента и временем сервера - PullRequest
1 голос
/ 29 мая 2020

У меня есть сервер, на котором хранятся события, происходящие в разных частях света. Все они сохраняют UNIX отметок времени, когда событие произойдет и закончится.

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

Если результат сравнения больше или равен 0. Тогда это означает, что событие уже произошло и его следует удалить из базы данных.

Но моя проблема в том, что:
Если событие создано в Великобритании (GMT + 1) и закончится в 19:00, а сервер находится в Германии ( GMT + 2). Событие будет удалено на час раньше, то есть: 18:00 в Великобритании и 19:00 в Германии.

Я хочу, чтобы:
Если созданное событие заканчивается в 19:00 в Великобритании, его следует удалить в 20:00 в Германии.

Я ищу решение, но не уверен , будет ли это правильное решение ?

1 Ответ

2 голосов
/ 29 мая 2020

Надеюсь, я правильно понял вопрос.

В базе данных вы храните unix метки времени,

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

В python вы получите текущую отметку времени с

time.time()

Так должно работать что-то вроде этого:

import time

now = time.time()
query = "select primarykey, timestamp from table"
for primary_key, timestamp in yourfuncttoexecutequeryandreturnrows(query):
    if timestamp < now:
        print("I could delete entry ", primary_key)
...