python代码定时同步本机的北京时间详解编程语言

这段python代码首先从www.beijing-time.org上获取标准的北京时间,然后同步获取的北京时间到本地

# -*- coding: utf-8 -*- 
import time,httplib 
import threading 
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() 
             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: 
         return None 
  
def syncLocalTime(): 
     """ 
     同步本地时间 
     """ 
     beijinTime = getBeijinTime() 
     if beijinTime is None: 
         timer = threading.Timer(30.0, syncLocalTime) 
         timer.start() 
     else: 
         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))    #设置时间 
  
if __name__=='__main__': 
    while True: 
        syncLocalTime() 
        time.sleep(30)

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

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

相关推荐

发表回复

登录后才能评论