python datetime模塊用法
阿新 • • 發佈:2019-02-01
too pre ace time cno 信息 hour 翻譯 replace
python datetime模塊用法
1. 創建naive(無時區信息)的datetime對象
import datetime dt_utc = datetime.datetime.utcnow() dt_utc # datetime.datetime(2019, 2, 1, 10, 53, 34, 145034) dt_utc.tzinfo # None dt_local = datetime.datetime.now() dt_local.tzinfo # None # tzinfo為None的datetime對象is naive(不知道怎麽翻譯好。。。) # tzinfo為tzinfo對象的None的datetime對象is aware。 # 只有都為naive或者都為aware才可以相互比較
2. 創建的aware(有時區信息)的datetime對象
import datetime dt_utc = datetime.datetime.utcnow() dt_utc_aware = dt.replace(tzinfo=datetime.timezone.utc) dt_utc_aware.tzinfo # datetime.timezone.utc dt_local = datetime.datetime.now() dt_local_aware = dt_local.replace(tzinfo=datetime.tzinfo(datetime.timedelta(hours=8)))
3. datetime對象的時區轉換
import datetime
dt_utc = datetime.datetime.utcnow()
dt_utc_aware = dt.replace(tzinfo=datetime.timezone.utc)
dt_utc_aware.tzinfo # datetime.timezone.utc
dt_local_aware = dt_utc_aware.astimezone(datetime.timezone(datetime.timedelta(hours=8))) # 轉為北京時間
4. datetime對象和時間戳互轉
import datetime import time stamp = time.time() # 獲取時間戳 dt_utc = datetime.datetime.utcfromtimestamp(stamp) # 轉為datetime # datetime.datetime(2019, 2, 1, 12, 52, 59, 268168) dt_local = datetime.datetime.fromtimestamp(stamp) # datetime.datetime(2019, 2, 1, 20, 52, 59, 268168) stp = dt_utc.timestamp() # 轉為時間戳,時間戳唯一,不因時區變化
4. datetime對象和date對象互轉
import datetime
d_local = datetime.date.today() # 獲取date
dt_utc = datetime.datetime.fromordinal(d_local.toordinal()) # 轉為datetime
# datetime.datetime(2019, 2, 1, 0, 0)
d_ = dt_utc.date() # 轉為date
# datetime.date(2019, 2, 1)
python datetime模塊用法