我继承了一个SQLite数据库,其中有一个名为ZDATE的TIMESTAMP字段。
一个值是401,580,000,我知道它对应于2013年9月23日。
我已经计算出这个字段的0是2001年1月1日的午夜(?)。
但是,我没有找到任何转换函数来获取格式化日期,事实上如果我使用 date()我得到:
ZDATE date(zdate)
401580000 1094776-12632211-20
任何帮助将不胜感激。
答案 0 :(得分:1)
> select 401580000 / (julianday('2013-09-23') - julianday('2001-01-01'));
86398.4509466437
> select 60*60*24;
86400
所以这个时间戳似乎使用秒。
要将其转换为SQLite can use directly的时间戳,即Unix纪元时间戳,只需添加适当的偏移量:
> select datetime(401580000 + strftime('%s', '2001-01-01 02:00:00'), 'unixepoch');
2013-09-23 00:00:00