~\Desktop
λ ip
Python 3.6.7rc2 (v3.6.7rc2:4893861ab5, Oct 13 2018, 17:34:23) [MSC v.1900 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.2.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import pandas as pd
In [2]: ts = pd.Timestamp(2017,6,19)
In [3]: ts
Out[3]: Timestamp('2017-06-19 00:00:00')
In [4]: tss = ts.timestamp()
In [5]: tss
Out[5]: 1497830400.0
In [6]: from datetime import datetime
In [7]: datetime.fromtimestamp(tss)
Out[7]: datetime.datetime(2017, 6, 19, 8, 0)
In [8]:
就这样,很简单的代码,现在的解决方式是求出timestamp后减去8个小时,有没有其他的解决办法?
在Pandas中提供了
tz_localize
和tz_convert
这2个函数,其中前者用于将时间戳转换为本地时间,而后者可以用于任意时区的转换。