我正在使用 pandas 并在轉換為紀元后生成一個資料范圍,但是我意識到該mktime函式給了我我的本地時區而不是 UTC。
如何獲取 UTC 紀元(毫秒)的日期串列?
dates = pd.date_range(start='1/1/2022', end='10/1/2022',
freq='M', tz='UTC').strftime("%Y-%m-%dT%H:%M:%S.%fZ").tolist()
print(dates)
list_epoch=[]
for i in dates:
epoch = int(time.mktime(time.strptime(i, "%Y-%m-%dT%H:%M:%S.%fZ")))*1000
list_epoch.append(epoch)
print(list_epoch)
uj5u.com熱心網友回復:
將 date_range 轉換為整數納秒并除以 1e6 得到毫秒。
import pandas as pd
dates = pd.date_range(start='1/1/2022', end='10/1/2022',
freq='M', tz='UTC') # do not use strftime here
unixmilli = dates.astype(int) / 1e6
unixmilli
Float64Index([1643587200000.0, 1646006400000.0, 1648684800000.0,
1651276800000.0, 1653955200000.0, 1656547200000.0,
1659225600000.0, 1661904000000.0, 1664496000000.0],
dtype='float64')
現在您還可以轉換為串列:
unixmilli.to_list()
[1643587200000.0,
1646006400000.0,
1648684800000.0,
1651276800000.0,
1653955200000.0,
1656547200000.0,
1659225600000.0,
1661904000000.0,
1664496000000.0]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/516239.html
