首先引入Unix紀元時間戳的概念:即格林威治時間(GMT,Greenwich Mean Time)1970年1月1日00:00:00,到當前時間的秒數。單位為秒(s)。
那么當前時間的Unix紀元時間戳在python中怎么表達的呢?先看看如下案例:

上面我們看到這個日期框里面輸入的值為日期格式(2019-10-19 23:59),輸入參數后我們點擊“發布個人作業”按鈕后,通過F12查看到這個發布作業的接口的請求參數如下圖:

發現endtime這個值跟我們前台傳入的值不一樣,這里它就用到了Unix紀元時間戳的表達方式,我們在做接口測試的時候,遇到這個問題該如何解決呢?
在python里,我們引入time和datetime模塊,它們都是內置模塊,無需安裝
問題思考:1.如何將Unix紀元時間戳轉換為日期格式?
2.如何將日期格式轉換為Unix紀元時間戳?
通過以下代碼演示如何轉換:
1.將Unix紀元時間戳轉換為日期格式,使用datetime.fromtimestamp()方法
import time from datetime import datetime # Unix紀元時間戳轉換為datetime日期格式 now_time = time.time() date_now_time = datetime.fromtimestamp(now_time) str_now_time = datetime.strftime(date_now_time, "%Y-%m-%d %H:%M:%S") print(str_now_time, type(str_now_time))

2.將日期格式轉換為Unix紀元時間戳,使用datetime.timestamp()方法
from datetime import datetime # datetime日期格式轉換為Unix紀元時間戳 now_time = datetime.now() datetime_after_seven_day = round(datetime.timestamp(now_time)) print(datetime_after_seven_day, type(datetime_after_seven_day))

案例上的日期我們不能輸入當前日期,必須要填入未來的日期,這個又該如何處理呢?datetime.datetime格式的數據可以通過datetime.timedelta()進行日期的加減操作,假如我們要將當前的日期加上7天,使用如下方法即可實現:
from datetime import datetime, timedelta # datetime日期格式轉換為Unix紀元時間戳 now_time = datetime.now() print(now_time, type(now_time)) after_seven_day = now_time + timedelta(days=7) print(after_seven_day, type(after_seven_day)) datetime_after_seven_day = round(datetime.timestamp(after_seven_day)) print(datetime_after_seven_day, type(datetime_after_seven_day))

