此Sqlite列使用什么时间戳格式?

时间:2016-03-26 20:00:39

标签: sqlite

事实证明,iPhone上的Notes应用程序将笔记存储在sqlite数据库中,经过一堆黑客攻击后,我能够将这个文件放到我的PC上进行备份和分析。但我很困惑,因为时间戳值是这种格式,我不承认:

-978184314.566524
394221085.203589
412276958.735525
412279753.951386

第一个可能是一些工厂安装的默认注释,带有伪造的时间戳。在2010年之后,所有其余的都将在iPhone时代取得一段时间。

这是什么格式,以及如何将其转换为人类可读的日期和时间?

1 个答案:

答案 0 :(得分:1)

正常的Unix时间戳基于1970.显然,这些时间戳使用2000而不是:

> select strftime('%s', '2000-01-01');
946684800
> select datetime(-978184314.566524 + 946684800, 'unixepoch');
1969-01-01 10:08:05
> select datetime(394221085.203589 + 946684800, 'unixepoch');
2012-06-28 17:51:25
> select datetime(412276958.735525 + 946684800, 'unixepoch');
2013-01-23 17:22:38
> select datetime(412279753.951386 + 946684800, 'unixepoch');
2013-01-23 18:09:13