簡體   English   中英

python 將帶時區的時間戳轉換為日期時間

[英]python convert timestamp with timezone to datetime

dt = "2021-06-10T10:56:58.189+0200"

是我的時間戳,我想將其轉換為日期時間表示。 我使用以下代碼來執行此操作:

d = dateutil.parser.parse(dt)

但我的 output 看起來像這樣:

2021-06-10 10:56:58.189000+02:00

沒有太大變化。 如何在我新創建的日期時間 object 中包含有關時區的信息。 我從文檔中嘗試了更多的東西,但我自己無法解決..

提前致謝。

請注意, +0200是 UTC 偏移量,而不是時區(例如,“America/Los_Angeles”是時區)。 如果你想設置一個特定的時區,你可以這樣做

from datetime import datetime
from zoneinfo import ZoneInfo

# you can do the parsing with the standard lib:
s = "2021-06-10T10:56:58.189+0200"
dt = datetime.strptime(s, "%Y-%m-%dT%H:%M:%S.%f%z")

# now set a time zone:
dt_tz = dt.astimezone(ZoneInfo("Europe/Berlin"))
                      
print(dt_tz) # __str__ gives you ISO format 
# 2021-06-10 10:56:58.189000+02:00

print(dt_tz.strftime("%Y-%m-%dT%H:%M:%S %Z")) # custom format
# 2021-06-10T10:56:58 CEST

print(repr(dt_tz)) # object representation; __repr__
# datetime.datetime(2021, 6, 10, 10, 56, 58, 189000, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM