大家好,对python 获取网络时间、本地时间的实现方法感兴趣的小伙伴,下面一起跟随三零脚本的小编来看看python 获取网络时间、本地时间的实现方法的例子吧。
# 三零脚本 www.q3060.com
def getBeijinTime():
"""
#获取北京时间
"""
try:
conn= httplib.HTTPConnection("www.beijing-time.org")
conn.request("GET","/time.asp")
response= conn.getresponse()
print response.status, response.reason
if response.status== 200:
#解析响应的消息
result= response.read()
logging.debug(result)
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")
return beijinTime
except:
logging.exception("getBeijinTime except")
return None
# 三零脚本 www.q3060.com
#同步本地系统时间
def syncLocalTime():
"""
#同步本地时间
"""
logging.info("current local time is: %d-%d-%d %d:%d:%d" % time.localtime()[:6])
beijinTime= getBeijinTime()
if beijinTimeis None:
logging.info("get beijinTime is None, will try again in 30 seconds...")
timer= threading.Timer(30.0, syncLocalTime)
timer.start();
else:
logging.info("get beijinTime is: %d-%d-%d %d:%d:%d" % beijinTime[:6])
tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec= beijinTime[:6]
import os
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)) #设置时间
logging.info("syncLocalTime complete, current local time: %d-%d-%d %d:%d:%d \n" % time.localtime()[:6])