为什么纪元时间转换错误?什么是正确和最快的方法?
Why getting epoch time conversion wrong? What is the right and quickest way?
我的objective : 以最快的方式转换这个时间戳。
{'timestamp': 1533203940000, 'open': 564.1, 'high': 567.55, 'low': 563.4, 'close': 564.45, 'volume': 522096, 'cp': 564.45}
进入“2018-08-02 15:29:00”(这是我应该得到的)
但是,我没有把它转换成right.Hours是错误的。 也许与时区有关?我试过了....
n=np.array([1533203940]).astype('datetime64[s]')
我得到:
['2018-08-02T09:59:00']
然后....
time.gmtime(1533203940)
也错了....
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=2, tm_hour=9,
tm_min=59, tm_sec=0, tm_wday=3, tm_yday=214, tm_isdst=0)
Pandas也不对。
pd.to_datetime(1533203940,unit='s')
它给....
2018-08-02 09:59:00
只有 datetime 才正确!!!
datetime.fromtimestamp(1533203940)
这给出了..
2018-08-02 15:29:00
其他人哪里出错了?如果没有答案,我以后的计算可能会出错,我什至可能都没有意识到:(
看来你需要这样的东西
df['timestamp'] = pd.to_datetime(df['timestamp'], unit= 'ms').dt.tz_localize('utc') \
.dt.tz_convert(tz='USE YOUR TIME ZONE HERE').apply \
(lambda x: datetime.replace(x, tzinfo=None))
我的objective : 以最快的方式转换这个时间戳。
{'timestamp': 1533203940000, 'open': 564.1, 'high': 567.55, 'low': 563.4, 'close': 564.45, 'volume': 522096, 'cp': 564.45}
进入“2018-08-02 15:29:00”(这是我应该得到的)
但是,我没有把它转换成right.Hours是错误的。 也许与时区有关?我试过了....
n=np.array([1533203940]).astype('datetime64[s]')
我得到:
['2018-08-02T09:59:00']
然后....
time.gmtime(1533203940)
也错了....
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=2, tm_hour=9,
tm_min=59, tm_sec=0, tm_wday=3, tm_yday=214, tm_isdst=0)
Pandas也不对。
pd.to_datetime(1533203940,unit='s')
它给....
2018-08-02 09:59:00
只有 datetime 才正确!!!
datetime.fromtimestamp(1533203940)
这给出了..
2018-08-02 15:29:00
其他人哪里出错了?如果没有答案,我以后的计算可能会出错,我什至可能都没有意识到:(
看来你需要这样的东西
df['timestamp'] = pd.to_datetime(df['timestamp'], unit= 'ms').dt.tz_localize('utc') \
.dt.tz_convert(tz='USE YOUR TIME ZONE HERE').apply \
(lambda x: datetime.replace(x, tzinfo=None))