SQLite时间戳转换功能

时间:2013-12-03 13:23:30

标签: sqlite date timestamp

我继承了一个SQLite数据库,其中有一个名为ZDATE的TIMESTAMP字段。

一个值是401,580,000,我知道它对应于2013年9月23日。

我已经计算出这个字段的0是2001年1月1日的午夜(?)。

但是,我没有找到任何转换函数来获取格式化日期,事实上如果我使用 date()我得到:

  ZDATE            date(zdate)
401580000      1094776-12632211-20

任何帮助将不胜感激。

1 个答案:

答案 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