Найти смещение между системным и интернет-временем, используя Python - PullRequest
2 голосов
/ 08 июля 2011

Как бы вы нашли временной сдвиг между системным временем локальной системы и временем в Интернете из различных источников времени в Интернете, использующих Python?

Ответы [ 2 ]

5 голосов
/ 08 июля 2011

Используйте ntplib .Справа от инструкции:

>>> import ntplib
>>> c = ntplib.NTPClient()
>>> response = c.request('europe.pool.ntp.org', version=3)
>>> response.offset
-0.143156766891
1 голос
/ 27 июля 2011

Просто чтобы сэкономить вам время. Вот код, который я использовал, используя ответ phihag. Он выводит дрейф каждые interval_sec на экран и в файл журнала.
Вам нужно будет easy_install ntplib, чтобы оно заработало.

import logging
logging.basicConfig(filename='time_shift.txt',level=logging.DEBUG)

import ntplib
import time
import datetime
c = ntplib.NTPClient()

interval_sec = 60
while True:
    try:
        response = c.request('europe.pool.ntp.org', version=3)
        txt = '%s     %.3f' % (datetime.datetime.now().isoformat(), response.offset)
        print txt
        logging.info(txt)
    except:
        pass
    time.sleep(interval_sec)
...