python获取网络时间和本地时间详解编程语言

今天我们来看一下如何用python获取网络时间和本地时间,直接上代码吧,代码中都有注释。python获取网络时间获取网络时间 def getBeijinTi…

今天我们来看一下如何用python获取网络时间和本地时间,直接上代码吧,代码中都有注释。

python获取网络时间

获取网络时间 
 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获取本地时间

同步本地系统时间 
 def syncLocalTime(): 
     """ 
     同步本地时间 
     """ 
     logging.info("current local time is: %d-%d-%d %d:%d:%d" % time.localtime()[:6]) 
       
     beijinTime = getBeijinTime()  
     if beijinTime is 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])

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/8428.html

(0)
上一篇 2021年7月18日 19:34
下一篇 2021年7月18日 19:34

相关推荐

发表回复

登录后才能评论