0
点赞
收藏
分享

微信扫一扫

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

zmhc 2022-02-28 阅读 54

今天我们来看一下如何用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 beijinTimeis 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])

 

举报

相关推荐

0 条评论