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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

教大家使用Python SqlAlchemy

本文实例解析Python SqlAlchemy的使用方法,分享给大家供大家参考,具体内容如下 1.初始化连接 from sqlalchemy import create_engin...

使用DataFrame删除行和列的实例讲解

本文通过一个csv实例文件来展示如何删除Pandas.DataFrame的行和列 数据文件名为:example.csv 内容为: date s...

Python实现远程调用MetaSploit的方法

本文较为详细的讲述了Python实现远程调用MetaSploit的方法,对Python的学习来说有很好的参考价值。具体实现方法如下: (1)安装Python的msgpack类库,MSF官...

在Python中调用Ping命令,批量IP的方法

如下所示: #!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP...

python模块smtplib学习

python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。 smtp协议的基本命令包括:     HELO 向服务...