獲取網絡時間戳


一、需求背景

為了獲取網絡時間,采用python實現。

二、代碼

# -*- coding: utf-8

import sys
import time
import requests


# 1、獲取網絡北京時間戳
def get_beijing_stamp_from_web(url):
    # 請求網絡數據
    response = requests.get(url)
    # 獲取http頭date部分
    ts = response.headers['date']
    # 將日期時間字符轉化為數組對象
    gmt_time_obj = time.strptime(ts[5:25], "%d %b %Y %H:%M:%S")
    # 將時間數組對象轉為時間戳
    gmt_ts = time.mktime(gmt_time_obj)  # 零時區時間戳
    # 將GMT時間轉換成北京時間時間戳
    bj_internet_ts = int(gmt_ts + 8 * 3600)  # 北京時間戳

    # 返回東八區的北京時間戳
    return bj_internet_ts


# 2、獲取網絡北京日期字串
def get_beijing_date_from_web(url):
    # 請求網絡數據
    response = requests.get(url)
    # 獲取http頭date部分
    ts = response.headers['date']
    # 將日期時間字符轉化為數組對象
    gmt_time_obj = time.strptime(ts[5:25], "%d %b %Y %H:%M:%S")  # GMT零時區
    # 將時間數組對象轉為時間戳
    gmt_ts = time.mktime(gmt_time_obj)  # 零時區時間戳
    # 將GMT時間轉換成北京時間時間戳
    bj_internet_ts = gmt_ts + 8 * 3600  # 北京時間戳
    # 將北京時間戳轉化為數組對象
    bj_local_time_obj = time.localtime(bj_internet_ts)
    # 構造日期字串
    str1 = "%u-%02u-%02u" % (bj_local_time_obj.tm_year,
                             bj_local_time_obj.tm_mon, bj_local_time_obj.tm_mday)
    str2 = "%02u:%02u:%02u" % (
        bj_local_time_obj.tm_hour, bj_local_time_obj.tm_min, bj_local_time_obj.tm_sec)
    bj_date_time_str = "%s %s" % (str1, str2)  # 日期字串

    # 返回東八區的北京時間戳
    return bj_date_time_str


# 3、獲取網絡GMT時間戳
def get_gmt_stamp_from_web(url):
    # 請求網絡數據
    response = requests.get(url)
    # 獲取http頭date部分
    ts = response.headers['date']
    # 將web日期時間字符轉化為數組對象
    gmt_time = time.strptime(ts[5:25], "%d %b %Y %H:%M:%S")
    # 將數組對象時間轉換成時間戳
    gmt_internet_ts = int(time.mktime(gmt_time)) # 零時區時間戳
    # 返回零時區時間戳
    return gmt_internet_ts


# 4、獲取網絡GMT日期字串
def get_gmt_date_from_web(url):
    # 請求網絡數據
    response = requests.get(url)
    # 獲取http頭date部分
    ts = response.headers['date']
    # 將web日期時間字符轉化為數組對象
    gmt_time_boj = time.strptime(ts[5:25], "%d %b %Y %H:%M:%S")
    # 構建時間字符串
    str1 = "%u-%02u-%02u" % (gmt_time_boj.tm_year,
                             gmt_time_boj.tm_mon, gmt_time_boj.tm_mday)
    str2 = "%02u:%02u:%02u" % (
        gmt_time_boj.tm_hour, gmt_time_boj.tm_min, gmt_time_boj.tm_sec)
    gmt_date_time = "%s %s" % (str1, str2)
    # 返回零時區日期字串
    return gmt_date_time


def main():
    url = 'http://www.baidu.com'
    x = get_beijing_stamp_from_web(url)
    print("北京時間戳:")
    print(x)
    x = get_beijing_date_from_web(url)
    print("北京日期串:")
    print(x)
    x = get_gmt_stamp_from_web(url)
    print("GMT時間戳:")
    print(x)
    x = get_gmt_date_from_web(url)
    print("GMT日期串:")
    print(x)


if __name__ == '__main__':
    main()

  

輸出:

北京時間戳:
1619589692

北京日期串:
2021-04-28 14:01:32


GMT時間戳:
1619560892

GMT日期串:
2021-04-28 06:01:32


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM