python获取网络时间和本地时间

今天我们来看一下如何用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
获取网络时间
 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

python获取本地时间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
同步本地系统时间
 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])
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容