一、時間的基本概念
計算機系統中保存的時間是Unix時間戳,即從1970年1月1日00:00:00 UTC到當前時刻經過的秒數。在Python中,我們使用time模塊中的time函數來獲取當前的Unix時間戳。
import time print(time.time())
輸出結果:
1605079078.975342
如果需要將Unix時間戳轉換為可讀性更好的時間格式,我們可以使用time模塊中的gmtime函數(可自定義時區)或localtime函數(獲取本地時間)。
import time t = time.gmtime() print(time.strftime('%Y-%m-%d %H:%M:%S', t))
輸出結果:
2020-11-12 02:51:18
二、時間的操作和計算
在Python中,我們可以使用datetime模塊中的datetime類來進行時間的操作和計算。
1. 獲取當前時間
from datetime import datetime now = datetime.now() print(now)
輸出結果:
2020-11-12 10:03:27.673462
2. 時間字元串的轉換
from datetime import datetime str_time = '2020-11-12 10:03:27' dt_time = datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S') print(dt_time)
輸出結果:
2020-11-12 10:03:27
3. 時間的加減
from datetime import datetime, timedelta now = datetime.now() delta = timedelta(days=1, hours=1, minutes=1, seconds=1) new_time = now + delta print(new_time)
輸出結果:
2020-11-13 11:04:28.819183
4. 時間的比較
from datetime import datetime, timedelta now = datetime.now() past_time = now - timedelta(days=1) future_time = now + timedelta(days=1) print(now > past_time) # True print(now < future_time) # True
輸出結果:
True True
三、時間戳與時間字元串的轉換
有時候我們需要將時間戳轉換為時間字元串,或者將時間字元串轉換為時間戳。
1. 時間戳轉換為時間字元串
import time timestamp = time.time() str_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp)) print(str_time)
輸出結果:
2020-11-12 10:09:01
2. 時間字元串轉換為時間戳
import time str_time = '2020-11-12 10:09:01' timestamp = time.mktime(time.strptime(str_time, '%Y-%m-%d %H:%M:%S')) print(timestamp)
輸出結果:
1605125341.0
四、時區的處理
在Python中,我們可以使用pytz模塊來處理時區問題。該模塊提供了強大的時區支持,能夠使我們輕鬆地轉換時間。
1. 獲取指定時區當前時間
from datetime import datetime import pytz tz = pytz.timezone('Asia/Shanghai') dt_time = datetime.now(tz) print(dt_time)
輸出結果:
2020-11-12 10:22:48.393029+08:00
2. 轉換時區
from datetime import datetime import pytz tz1 = pytz.timezone('Asia/Shanghai') tz2 = pytz.timezone('America/New_York') dt_time = datetime.now(tz1) new_time = dt_time.astimezone(tz2) print(new_time)
輸出結果:
2020-11-11 21:27:20.178964-05:00
五、總結
本文從時間的基本概念、時間的操作和計算、時間戳與時間字元串的轉換以及時區的處理等多個方面對Python系統時間進行了詳細的闡述,希望對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291243.html