您当前的位置:首页 > 计算机 > 编程开发 > Python

Python使用Pandas库转换10位、13位、16位时间戳(以及时区转换)

时间:10-24来源:作者:点击数:

10位,是秒:

比如 1571647885 是1970-01-01以来的秒数

from pandas.api.types import is_numeric_dtype
...
if is_numeric_dtype(result_df[column_name]):
    result_df[column_name] = pd.to_datetime(result_df[column_name], unit='s').dt.strftime('%Y-%m-%d %H:%M:%S')

13位,是毫秒:

if is_numeric_dtype(result_df[column_name]):
    result_df[column_name] = pd.to_datetime(result_df[column_name], unit='ms').dt.strftime('%Y-%m-%d %H:%M:%S')

16位,是微秒:

if is_numeric_dtype(result_df[column_name]):
    result_df[column_name] = pd.to_datetime(result_df[column_name]/1000, unit='ms').dt.strftime('%Y-%m-%d %H:%M:%S')

这样转换出来是UTC-0时区的时间。如果想要strftime转换出来的是东八区本地时间,需要strftime之前转换一次时区。

result_df[column_name] = pd.to_datetime(result_df[column_name], unit='s').dt.tz_localize('UTC').dt.tz_convert('Asia/Shanghai')
result_df[column_name] = result_df[column_name].dt.strftime('%Y-%m-%d %H:%M:%S')
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门