python实现定时同步本机与北京时间的方法
本文实例讲述了python实现定时同步本机与北京时间的方法。分享给大家供大家参考。具体如下:
这段python代码首先从www.beijing-time.org上获取标准的北京时间,然后同步获取的北京时间到本地
#-*-coding:utf-8-*-
importtime,httplib
importthreading
defgetBeijinTime():
try:
conn=httplib.HTTPConnection("www.beijing-time.org")
conn.request("GET","/time.asp")
response=conn.getresponse()
printresponse.status,response.reason
ifresponse.status==200:
result=response.read()
data=result.split("\r\n")
year=data[1][len("nyear")+1:len(data[1])-1]
month=data[2][len("nmonth")+1:len(data[2])-1]
day=data[3][len("nday")+1:len(data[3])-1]
#wday=data[4][len("nwday")+1:len(data[4])-1]
hrs=data[5][len("nhrs")+1:len(data[5])-1]
minute=data[6][len("nmin")+1:len(data[6])-1]
sec=data[7][len("nsec")+1:len(data[7])-1]
beijinTimeStr="%s/%s/%s%s:%s:%s"%(year,month,day,hrs,minute,sec)
beijinTime=time.strptime(beijinTimeStr,"%Y/%m/%d%X")
returnbeijinTime
except:
returnNone
defsyncLocalTime():
"""
同步本地时间
"""
beijinTime=getBeijinTime()
ifbeijinTimeisNone:
timer=threading.Timer(30.0,syncLocalTime)
timer.start()
else:
tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec=beijinTime[:6]
importos
os.system("date%d-%d-%d"%(tm_year,tm_mon,tm_mday))#设置日期
os.system("time%d:%d:%d.0"%(tm_hour,tm_min,tm_sec))#设置时间
if__name__=='__main__':
whileTrue:
syncLocalTime()
time.sleep(30)
希望本文所述对大家的Python程序设计有所帮助。