天天看點

Python指定時區日期和時間戳轉換

由日期得到時間戳

import datetime
import pytz

tz = pytz.timezone('Asia/Shanghai')
now = datetime.datetime.now(tz)
print(now.timestamp())

# 使用datetime.datetime定義執行個體時,使用pytz的時間區有部分誤差,未找到原因
tz = datetime.timezone(datetime.timedelta(hours=8))
dt = datetime.datetime(2021, 6, 14, 0, 0, 0, 0, tzinfo=tz)
print(dt.timestamp())
           

由時間戳得到日期

import pytz
import datetime

ts = 1623600000
tz = pytz.timezone('Asia/Shanghai')
dt = datetime.datetime.fromtimestamp(ts, tz)
print(dt.strftime('%Y-%m-%d %H:%M:%S'))

tz = datetime.timezone(datetime.timedelta(hours=8))
dt = datetime.datetime.fromtimestamp(ts, tz)
print(dt.strftime('%Y-%m-%d %H:%M:%S'))