我在 SQLite 数据库中找到了这个日期(和时间?)表示。我不认为它是 UNIX 时间戳之类的标准表示,有人能帮我识别它吗?
498586831.475129
或者497469155.776235
但有时它只是一个数字(没有 .)。
一些背景:我希望该值是一个日期(也可能是时间,可能精确到秒),它是 2007 年之后的,而不是将来的。
更多信息:SQLite 字段类型是TIMESTAMP
答案1
这些TIMESTAMP
值可能来自基于 2001 年 1 月 1 日 00:00:00 GMT 时代的 Apple Core Foundation 代码。
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 年后。