[英]Convert np.array of Unix Epoch timestamps to Date Time with correct Timezone [PYTHON, NUMPY]
我有一組 Unix 紀元時間戳,我需要將其轉換為 python 中的日期時間格式。
我可以使用 numpy 和 pandas 進行轉換,如下所示:
tim = [1627599600,1627599600,1627599601,1627649998,1627649998,1627649999]
tim_np = np.array(tim)
tim_np = np.asarray(tim, dtype='datetime64[s]',)
tim_pd = pd.to_datetime(tim,unit='s', utc=True,)
print(tim_np)
print(tim_pd)
我遇到的問題是時區錯誤,我在紐約,所以需要將其設置為“EST”。
我嘗試通過在pd.to_datetime
function 中設置utc=True
來解決,但它仍然默認為“GMT”(提前 5 小時)。
我也嘗試了datetime.fromtimestamp(0)
但它似乎只適用於單個元素而不是 arrays - https://note.nkmk.me/en/python-unix-time-datetime/
轉換紀元時是否有任何有效的方法來設置時區?
發現這可以通過 pandas 使用 .tz_* 方法來實現:
.tz_localie - https://pandas.pydata.org/docs/reference/api/pandas.Series.dt.tz_localize.html
.tz_convert - https://pandas.pydata.org/docs/reference/api/pandas.Series.dt.tz_convert.html
工作代碼:
tim = [1627599600,1627599600,1627599601,1627649998,1627649998,1627649999]
tim_pd = (pd.to_datetime(tim,unit='s')
.tz_localize('utc')
.tz_convert('America/New_York'))
print(tim_pd)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.