• python获取网络时间和本地时间


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

    python获取网络时间

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    获取网络时间
     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(" ")
                 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获取本地时间

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    同步本地系统时间
     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 " % time.localtime()[:6])
  • 相关阅读:
    刻意练习:从一般到卓越的方法
    Spring JMS 整合 ActiveMQ
    冒泡排序 快速排序
    TCP协议,UDP 协议的区别
    HashMap实现原理
    java 类加载过程
    Linux-vim命令(3)
    Linux-vim命令(2)
    Linux-vim命令(1)
    Linux-命令里的快捷键
  • 原文地址:https://www.cnblogs.com/chenjingyi/p/5741725.html
Copyright © 2020-2023  润新知