首页 > 解决方案 > 在 Python 中将数字从 sqlite 转换为日期

问题描述

我刚刚csv从 sqlite 下载了一个包含日期的列。df看起来像这样:

ROWID   text    is_from_me  handle_id   date
8       Esta muy    0       4           542735636047925696
9       Congratz    0       4           542735642840117952
10      En la       0       4           542735660785415872
11      Liked       1       4           542735693412165376

如何将date列转换为可读日期?

标签: pythondatedataframe

解决方案


似乎前 9 位数字可能代表自 2001-01-01 00:00:00 以来的秒数。

import time, datetime
t = time.gmtime(int("542735636047925696"[0:9])+978307200)
timestamp = time.mktime(t)
dt = datetime.datetime.fromtimestamp(timestamp)    
print(dt.strftime('%Y-%m-%d %H:%M:%S'))

# 2018-03-14 15:53:56

基于从备份中解析 iPhone SMS 文件的“日期”字段


推荐阅读