Home > Article > Backend Development > Python gets network time and local time
Today we will take a look at how to use python to get the network time and local time. Let’s go directly to the code. There are comments in the code.
python gets network time
获取网络时间 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 gets local time
同步本地系统时间 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])