赞
踩
今天我们来看一下如何用python获取网络时间和本地时间,直接上代码吧,代码中都有注释。
python获取网络时间
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
获取网络时间
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()
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")
returnbeijinTime
except:
logging.exception("getBeijinTime except")
returnNone
python获取本地时间
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
同步本地系统时间
defsyncLocalTime():
"""
同步本地时间
"""
logging.info("current local time is: %d-%d-%d %d:%d:%d"%time.localtime()[:6])
beijinTime=getBeijinTime()
ifbeijinTimeisNone:
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]
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))#设置时间
logging.info("syncLocalTime complete, current local time: %d-%d-%d %d:%d:%d \n"%time.localtime()[:6])
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。