Python怎么獲取網絡時間?Python得到網絡時間如何實現

在python之中一般獲取時間都會去使用time模塊或者是datetime模塊,但是使用這些模塊內方法獲取到的時間是本地系統時間,可能會有一點差異 。而要得到準確時間的話就是要獲取網絡時間,它是從中國時間校準網上得到 。下文有詳細代碼示例和步驟解析,一起看看吧 。

Python怎么獲取網絡時間?Python得到網絡時間如何實現


【Python怎么獲取網絡時間?Python得到網絡時間如何實現】1.在開始編寫代碼之前需要知道的就是,我們現在處在的時區為東八區,而這個是根據首都北京所在的區域來決定的,所以實際獲取到的時間為北京時間 。那么網絡時間就是要從網站上面獲取到的,使用HTTPConnection()方法從該網站上獲取數據,示例如下:
import httplibconn = httplib.HTTPConnection("www.beijing-time.org")2.以上步驟就表示已經和這個有北京時間的網站建立連接了,接下來需要調用requests方法()并且決定以哪一種方式去訪問,之后用getresponse()方法就可以訪問該網站并且獲取響應的數據了 。
使用這種方式的原因在于能夠通過http協議直接向網站發起請求,并且返回的數據就直接會是一個網絡時間而每其他冗余數據了,代碼如下所示:
conn = httplib.HTTPConnection("www.beijing-time.org")conn.request("GET", "/time.asp")response = conn.getresponse()3.因為響應數據中還包含了http狀態碼來表示是否請求成功,只要為200就表示請求成功并且返回數據了 。而接下來需要用read()方法將響應數據讀取到python中,然后對其進行分割操作 。
因為返回的數據不是大家熟悉的年月日時分秒格式,而是直接連在一起的時間 。所以需要使用切片方式從字符串中將它們取出來,然后再通過時間格式化即可轉為大家平常所見的時間格式,詳細代碼如下所示:
result = response.read()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]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")print(beijinTime)以上就是關于“Python怎么獲取網絡時間?Python得到網絡時間如何實現”的全部內容了,希望對你有所幫助 。

    猜你喜歡