识别 SQL 时间格式

识别 SQL 时间格式

我在 SQLite 数据库中找到了这个日期(和时间?)表示。我不认为它是 UNIX 时间戳之类的标准表示,有人能帮我识别它吗?

498586831.475129或者497469155.776235

但有时它只是一个数字(没有 .)。

一些背景:我希望该值是一个日期(也可能是时间,可能精确到秒),它是 2007 年之后的,而不是将来的。

更多信息:SQLite 字段类型是TIMESTAMP

答案1

这些TIMESTAMP值可能来自基于 2001 年 1 月 1 日 00:00:00 GMT 时代的 Apple Core Foundation 代码。

时间实用程序 - 核心基础 | Apple 开发者文档

Core Foundation 以秒为单位测量时间。基本数据类型是CFTimeInterval,它测量两个时间之间的秒差。固定时间或日期由 CFAbsoluteTime数据类型定义,它测量特定日期与 2001 年 1 月 1 日 00:00:00 GMT 绝对参考日期之间的时间间隔。

Wolfram Alpha:2001 年 1 月 1 日 00:00:00 GMT + 498586831.475129 秒
结果:4:20:31 GMT | 2016 年 10 月 19 日星期三

Wolfram Alpha:2001 年 1 月 1 日 00:00:00 GMT + 497469155.776235 秒
结果:5:52:35 GMT | 2016 年 10 月 6 日,星期四


先前的答案(仍然相关)

如果没有更多的背景信息,您必须寻找有意义的转换。

整数部分是合理的秒数,小数部分可以表示微秒。

选项 1:UNIX 纪元

Wolfram Alpha:自 unix 纪元以来已过 498586831.475129 秒

对应公历时间和日期:

1985 年 10 月 19 日星期六下午 4:20:31(UTC)

1985 年这个日期对于该记录来说合理吗?

选项 2:替代时代

Wolfram Alpha:498586831.475129 秒前

结果:

美国东部时间晚上 9:43:46 | 2001 年 7 月 22 日星期日

也许,该字段代表自 2000 年 1 月 1 日或 2001 年 1 月 1 日以来的秒数。

选项 3:持续时间

Wolfram Alpha:498586831.475129 秒

单位换算:

8.3097805245855×10^6分钟

138496.342076425 小时

5770.680919851 天

15.799587725555 平均公​​历年

这个时间量和记录有关系吗?

编辑:有了您的附加背景(日期介于 2007 年和现在之间),“选项 2:替代时代”变得最为合理,并且该记录发生在大约 15.8 年后。

相关内容