编辑
因此,在MikeT的帮助下,我想到了将 Apple Cocoa Core Data时间戳值转换为Unix纪元值的方法:
SELECT datetime(559951200 + 978307200, 'unixepoch', 'localtime');
559951200
是我的 Apple Cocoa Core Data时间戳
然后,要获取我的本地时间,我需要在SQLite的localtime
函数中添加一个附加参数datetime(...)
。
我正在查看ScanSnap Home
扫描仪和Mac版文档管理器的sqlite数据库。
它位于~/Library/Application Support/PFU/ScanSnap Home/Managed/ScanSnapHome.sqlite
数据库中有许多带有时间戳字段的表。我无法将那些时间戳值转换为日期/时间。
例如:我有一个日期值,可以在用户界面中看到为2018-09-30
。该日期值将转换为数据库(“时间戳记”字段)中的559951200
。
假设数字是一个纪元值,我尝试通过https://www.epochconverter.com将其转换为日期值,但是它将给我September 30, 1987
我想念什么?
答案 0 :(得分:1)
您的时间戳似乎是 Apple Cocoa Core Data时间戳。
通过添加 978307200 ,它将转换为一个纪元值。
因此559951200 + 978307200 = 1538258400 ,这是 2018年9月29日星期六22:00:00 的纪元时间 -( GMT ,因此当地时间很可能是30日)。
Core Data的开始日期为2001/01/01,而不是1970/01/01,因此978307200是两者之间的秒差。