適合人群:零基礎自學者 | 編程小白快速入門
閱讀時長:約5分鐘
文章目錄
- 一、問題:計算機中的時間的表示、Unix時間點?
- 1、例子1:計算機的“生日”:Unix時間點
- 2、答案:
- (1)Unix時間點
- (2)計算機表示時間
- 二、問題:Python中獲取時間的time()模塊?
- 1、例子1:計算年月日
- 2、例子2:統計代碼運行耗時
- 3、答案:
- (1)time.time()獲取當前時刻
- 三、動手試一試
- 任務1:驗證Unix時間戳
- 任務2:時間單位轉換
一、問題:計算機中的時間的表示、Unix時間點?
1、例子1:計算機的“生日”:Unix時間點
比喻解析:
- 計算機的時間系統以1970年1月1日為生日(Unix時間點),就像人類用生日計算年齡一樣
- 時間戳就像生日蛋糕上的蠟燭數量:每過1秒就多插一支蠟燭
import time # 獲取當前時間戳(單位:秒)
timestamp = time.time()
print(f"此刻距離1970年已過去:{timestamp:.2f}秒")
# 輸出示例:此刻距離1970年已過去:1687894567.89秒
時間單位對照表:
單位 | 換算關系 | 類比場景 |
---|---|---|
秒 | 基礎單位 | 人類心跳一次 |
毫秒 (ms) | 1秒 = 1000毫秒 | 蜂鳥振翅一次 |
微秒 (μs) | 1毫秒 = 1000微秒 | CPU執行一個指令 |
2、答案:
(1)Unix時間點
- 計算機時間的表示是從“1970年1月1日 00:00:00”開始,以秒為單位(可精確到微秒)進行計算。我們也把1970年這個時刻稱為“Unix時間點”。
(2)計算機表示時間
- 以Unix時間點為基準,加上毫秒數的時間,代表1970年之后的時間;減去毫秒數的時間,代表1970年之前的時間。
- 這個毫秒數稱為時間戳(timestamp)。
二、問題:Python中獲取時間的time()模塊?
1、例子1:計算年月日
import timeb = int(time.time()) # 距離1970年多少秒
totalMinutes = b // 60 # 距離1970年多少分鐘
totalHours = totalMinutes // 60 # 距離1970年多少小時
totalDays = totalHours // 24 # 距離1970年多少天
totalYears = totalDays // 365 # 忽略閏年情況,距離1970年多少年print(f"當前年份:{1970 + totalYears}") # 輸出示例:2024年
2、例子2:統計代碼運行耗時
import time start = time.time() # 記錄開始時間
# 模擬耗時操作(如計算1到百萬的和)
sum_result = sum(range(1, 1000001))
end = time.time() # 記錄結束時間 print(f"計算結果:{sum_result}")
print(f"耗時:{(end - start)*1000:.2f}毫秒") # 轉為毫秒
# 輸出示例:耗時:32.45毫秒
3、答案:
(1)time.time()獲取當前時刻
Python中可以通過 time.time()
獲取當前時刻到Unix時間點的毫秒數,包含6位小數的微秒級精度。
例如:print(time.time()) # 1635063628.5632517 距離1970年多少秒
三、動手試一試
任務1:驗證Unix時間戳
import time # 獲取當前時間戳(單位:秒)
start_time = ______ # 補全代碼
time.sleep(2) # 程序暫停2秒
end_time = time.time() duration = ______ # 補全代碼(計算時間差)
print(f"程序運行耗時:{duration:.2f}秒")
參考答案:
start_time = time.time()
duration = end_time - start_time
# 輸出示例:程序運行耗時:2.00秒
關鍵點:
time.time()
返回當前時間戳(從1970年1月1日開始的秒數)- 時間差計算直接相減即可
任務2:時間單位轉換
# 時間戳的毫秒與秒轉換
timestamp = 1635063628.5632517 milliseconds = ______ # 將時間戳轉為整數毫秒
seconds = ______ # 將毫秒轉回秒 print(f"毫秒表示:{milliseconds}")
print(f"秒表示:{seconds}")
參考答案:
milliseconds = int(timestamp * 1000)
seconds = milliseconds / 1000
# 輸出示例:
# 毫秒表示:1635063628563
# 秒表示:1635063628.563
解析:
- 秒轉毫秒:乘以1000并取整
- 毫秒轉秒:除以1000
📢 互動區
👉 遇到問題?在評論區:
- 描述問題(帶代碼截圖更好)
- 分享學習心得
- 給文章提建議
? 支持作者:點贊 | 收藏 | 關注
你的三連是我更新的最大動力!