iMessages chat.db的sqlite3日期转换

时间:2018-07-30 06:10:23

标签: database sqlite

我一直想将iMessages备份数据库chat.db提取到一个文本文件中。我在https://apple.stackexchange.com/questions/108171/export-imessages-in-human-readable-form-for-archival上找到了Matthieu Riegler的精彩脚本,该脚本很好地完成了工作,主要查询是:

sqlite3 ~/Library/Messages/chat.db "
select is_from_me,text from message where handle_id=(
select handle_id from chat_handle_join where chat_id=(
select ROWID from chat where guid='iMessage;-;$1')
)" | sed 's/1\|/me: /g;s/0\|/budy: /g' > MessageBackup.txt

我试图弄清楚如何在其中添加日期/时间戳。 “日期”字段位于消息数据库中,但采用疯狂的格式-例如,日期值为382511830000000000。如何更新此查询,以普通的可读格式包含日期/时间?

我尝试了https://apple.stackexchange.com/questions/114168/dates-format-in-messages-chat-db中提出的一些解决方案,但这些解决方案对我不起作用-由于我对sqlite3不太熟悉,因此我可能会错误地应用它们。

例如我尝试将查询的第二行更改为:

select is_from_me,text,datetime(date + strftime('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') as date from message where handle_id=(

..但是上面的日期空白。

有什么主意如何更新查询以获取正确格式的日期/时间?理想情况是在当地时区(在我的情况下是PST)。

谢谢!

0 个答案:

没有答案