我在real类型的列中插入时间戳。时间戳采用unixepoch格式,例如1505720496876
即GMT:2017年9月18日星期一7:41:36.876 AM。
但是,当我执行查询时
select datetime(timestamp, 'unixepoch', 'localtime') from history
我得到了-1413-03-01 14:07:12
。
我做错了什么?
答案 0 :(得分:2)
您目前正在使用毫秒,但您需要使用秒:
select datetime(timestamp / 1000, 'unixepoch', 'localtime')
from history
“unixepoch”修饰符(11)仅在紧跟DDDDDDDDDD格式的时间字符串后才起作用。此修饰符导致DDDDDDDDD不像通常那样被解释为Julian日期数,而是解释为Unix时间 - 自1970年以来的秒数。