2014-05-17 7 views
0

사용자가 Windows OS 날짜 및 시간을 올바르게 설정했는지 여부에 관계없이 올바른 UTM 시간을 얻으려면 어떻게해야합니까?정확한 시간을 결정하십시오.

나는 내 Windows 시계를 다른 시간으로 설정하고 똑같은 코드를 실행하는 일부 테스트를 수행했습니다. Windows 시계 시간을 출력 할 때마다. 항상 정확한 UTM 시간을 출력하는 코드를 찾고 있습니다.

코드 :

from datetime import datetime 
from time import time 

print time() 
print datetime.utcnow() 
+0

http://stackoverflow.com/questions/12664295/ ntp-client-in-python – Pavel

+0

datetime.utcnow()를 인쇄하지 않으면 문제가 해결됩니까? –

+0

@ S.M.AlMamun 아니요, 제가 위에서 설명한 것 같지 않습니다. 시도 해봐; 내 코드를 실행 한 다음 시간이 다른 2 시간으로 Windows 시간을 변경하고 코드를 다시 실행하십시오. 그것은 2 개의 다른 시간을 인쇄합니다. 그래서 datetime은 시간을 알고 나서 utc로 변환하기 위해 윈도우에 의존합니다. – Mack

답변

3

당신은 NTP 모듈을 사용할 것 : 사이트에서 https://pypi.python.org/pypi/ntplib/

예 :

import ntplib 
from time import ctime 
c = ntplib.NTPClient() 
response = c.request('europe.pool.ntp.org', version=3) 
ctime(response.tx_time) 
+0

답변 주셔서 감사합니다. 이 솔루션은 사용자가 인터넷에 연결되어 있어야합니까? 내가 게시 한 솔루션은 '올바른 시간을 결정하기 위해 인터넷을 사용하는 것'이라고 생각하십니까? 정확한 시간을 결정하기위한 지역적인 방법이 있습니까? – Mack

+0

네, 맞습니다. 불행하게도 인터넷을 사용하지 않고도 시스템 시간을 안정적으로 결정할 수있는 방법이 있다고 생각하지 않습니다. – gat

+0

@Mack : 아니요, 실제 시간을 결정할 현지 방법은 없습니다. (나는 당신이 어떻게 생각할지 상상할 수 없다.) 인터넷과는 별도로 가능한 다른 외부 소스가있다 : 휴대폰 네트워크, GPS 등. 그러나 인터넷은 대부분의 컴퓨터가 지원할 유일한 것이다. . 이 솔루션들 중 어느 것도 절대 안전한 것은 아니므로 결정된 사용자는이를 무시하고 잘못된 시간을 보낼 수 있습니다. –

관련 문제