2024-10-01 00:14:41 发布
网友
我刚从sqlite下载了一个csv,其中有一列包含日期。df如下所示:
csv
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列转换为可读日期?你知道吗
date
似乎前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
基于Parsing "date" field of iPhone SMS file from backup
根据公认的答案,我调整了我的,只是为了有另一种方式在这里注册。:-)
from datetime import datetime # 1970-01-01 00:00:00 unix_epoch = datetime(1970, 1, 1, 0, 0, 0) # 2001-01-01 00:00:00 mac_epoch = datetime(2001, 1, 1, 0, 0, 0) # 1s = 10e9 ns ns = 10**9 date = datetime.fromtimestamp(542735636047925696/ns) + (mac_epoch - unix_epoch) print(date) >>> 2018-03-14 15:53:56.047926
似乎前9位数字可能代表自2001-01-01 00:00:00以来的秒数。你知道吗
基于Parsing "date" field of iPhone SMS file from backup
根据公认的答案,我调整了我的,只是为了有另一种方式在这里注册。:-)
相关问题 更多 >
编程相关推荐