首先定义几个时间变量datetime、Timestamp、numpy.datetime64:
import datetime
import numpy as np
import pandas as pd
dt = datetime.datetime(2018 , 9 , 1 )
ts = pd.DatetimeIndex([dt])[0 ]
dt64 = np.datetime64(dt)
dt
Out[67 ]: datetime.datetime(2018 , 9 , 1 , 0 , 0 )
ts
Out[68 ]: Timestamp('2018-09-01 00:00:00' )
dt64
Out[69 ]: numpy.datetime64('2018-09-01T00:00:00.000000' )
转换datetime对象
传入Timestamp(‘2018-09-01 00:00:00’)格式或者datetime格式均可
np.datetime64(ts)
Out [84 ]: numpy.datetime64('2018-09-01T00:00:00.000000' )
np.datetime64(dt)
Out [85 ]: numpy.datetime64('2018-09-01T00:00:00.000000' )
转换numpy.datetime64对象
1、直接用astype的方法进行转化
dt64.astype (datetime.datetime )
Out [74 ]: datetime.datetime (2018 , 9 , 1 , 0 , 0 )
2、先转化为timestamp,再转化为datetime
(dt64-np.datetime64('1970-01-01T00:00:00Z' )) / np.timedelta64(1 , 's' )
Out [72 ]: 1535760000.0
datetime.datetime.fromtimestamp((dt64-np.datetime64('1970-01-01T00:00:00Z' )) / np.timedelta64(1 , 's' ))
Out [76 ]: datetime.datetime(2018 , 9 , 1 , 8 , 0 )