【发布时间】:2019-02-26 20:03:12
【问题描述】:
我正在为 SQlite 使用数据库浏览器。我的数据库还有存储在 18 位时间戳中的日期时间。请帮助在此查询中将其转换为当地时间:
SELECT * FROM message WHERE handle_id=52 ORDER BY date DESC;
我相信这是一种 unix 时间戳,因为 db 是基于 mac 的。 (Apple CoreD (nanosec) 是时间戳格式,感谢 varro)以下是数据库中的几个示例:
561774860770410304 559334672583377600
我遇到了另一个类似的问题(当地时间的 18 位时间戳),但提问者不需要任何特定语言或平台的答案。
谢谢,爱丽丝
【问题讨论】:
-
那不是unix时间戳,值太大了。当前时间戳(以秒为单位)在 1551214245 左右(在本地 unix 机器上运行
date '+%s'以获取它),即使 ti 以毫秒为单位,您仍然相差 5 个数量级。 -
macos APFS 时间戳是 UNIX 纪元的 64 位纳秒分辨率,因此 559334672 是 09/22/1987 @ 6:44pm (UTC) 而 561774860 是 10/21/1987 @ 12:34am ( UTC)...这些对您的数据有意义吗?
-
不,日期在过去一两年内。
标签: sqlite