あなたは(あなたが本当にする必要がある場合)datetime.datetime
オブジェクトに変換するにはtolist
を使用し、その後、numpyのdatetime64[Y]
sに整数に変換することができます:np.array(year, dtype='datetime64[Y]')
解釈以来
import numpy as np
year = range(1700,1970)
dates = (np.array(year, dtype='datetime64[Y]')-1970).astype('datetime64[s]').tolist()
for date in dates[:5]:
print(date)
プリント
1700-01-01 00:00:00
1701-01-01 00:00:00
1702-01-01 00:00:00
1703-01-01 00:00:00
1704-01-01 00:00:00
1970年1月1日の1970年1月1日のEpochに関連する整数は、正しい日付に到着するために減算されなければならない。 astype('datetime64[s]')
は、datetime64
を年解像度でdatetime64
秒に2番目の解像度で変換するために使用されます。これにより、tolist()
はdatetime.datetime
オブジェクトのリストを作成します。 astype('datetime64[s]')
の呼び出しがなければ、の配列のtolist
を呼び出すと、datetime.date
のリストが返されます。いくつかの目的のため
、datetime64
Sのnumpyのアレイを有する計算はdatetime.datetime
Sのリストと同等の計算よりはるかに高速です。したがって、
dates = (np.array(year, dtype='datetime64[Y]')-1970).astype('datetime64[s]')
を使用し、tolist()
を呼び出すことを避けることができます。
単純な文字列の書式設定を試しましたか? '"%d-01-01 00:00 "%年"? –