High Sierra Chat.db 时间戳

High Sierra Chat.db Timestamp

我要去 chat.db 获取有关应用程序的消息 (Mac OS)。

在我的 SQL SELECT 中使用 Sierra 之前,我使用 datetime(date, 'unixepoch', 'localtime') 来转换时间戳。

现在在 High Sierra 上它不起作用,我什么也得不到。

时间戳似乎变了……更多这样的数字:531651854330806016

有人知道如何转换吗?

根据 https://apple.stackexchange.com/questions/114168/dates-format-in-messages-chat-db

,日期字段现在似乎是纳秒级字段

所以你可以试试这个: datetime(date/1000000000, 'unixepoch', 'localtime')

在 Mac OS Mojave 你需要添加 + 978307200:

datetime(date/1000000000 + 978307200,'unixepoch','localtime')

iMessage最后一条消息时间:2018-11-2306:44

SELECT datetime(date/1000000000 + 978307200,'unixepoch','localtime') FROM message ORDER BY ROWID desc limit 1;

结果:

2018-11-23 06:44:01