亲宝软件园·资讯

展开

python实现定时同步本机与北京时间 python实现定时同步本机与北京时间的方法

八大山人 人气:0
想了解python实现定时同步本机与北京时间的方法的相关内容吗,八大山人在本文为您仔细讲解python实现定时同步本机与北京时间的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:python,定时,同步,本机,北京时间,方法,下面大家一起来学习吧。

本文实例讲述了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)

希望本文所述对大家的Python程序设计有所帮助。

加载全部内容

相关教程
猜你喜欢
用户评论