使用python正确地将Chrome时间戳转换为日期

时间:2016-05-12 20:14:04

标签: python sqlite google-chrome python-3.x timestamp

我使用python抓取了chrome历史记录。 late_visit_time行正在给出一个时间戳,如下所示 - 13107300761977770。当我使用以下代码将其转换为日期时:

timestamp = 13107300761977770
value = datetime.datetime.fromtimestamp(timestamp)

我收到了以下错误:

Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
value = datetime.datetime.fromtimestamp(timestamp)
OSError: [Errno 22] Invalid argument

我甚至将我的代码更改为:

timestamp = 13107300761977770/1e3
value = datetime.datetime.fromtimestamp(timestamp)

但我得到了同样的错误。

之后,要更改时间戳的大小,我就这样做了:

timestamp = 13107300761977770/1e7
value = datetime.datetime.fromtimestamp(timestamp)
print(value)

它给了我2011-07-15 17:11:16.197777因为错误,因为我用作样本数据的历史记录仅在2016年收集。
我的问题的可能解决方案是什么?

1 个答案:

答案 0 :(得分:1)

import datetime

timestamp = 13107300761977770
value = datetime.datetime(1601, 1, 1) + datetime.timedelta(microseconds=timestamp)
print(value)