strftime:错误的unix时间戳

时间:2012-10-11 15:12:54

标签: sqlite

在SQLite中,当我执行查询SELECT strftime('%s', 'now')时,我得到一个错误的unix时间戳。

例如,SELECT datetime(strftime('%s','now'))返回3691373-43510960-18 12:00:00而不是2012-10-11 12:34:56

这是一个错误吗?

提前致谢。

  • PHP v。:5.3.4
  • SQLite Library:2.8.17
  • 操作系统:Win7,32位。

PS:SELECT datetime('now')返回正确的当前日期。

1 个答案:

答案 0 :(得分:5)

返回的时间戳是正确的; datetime 似乎无效,因为%s会返回一个Unix纪元,但如果没有其他说明符,datetime会将其视为Julian日。

如果你这样做,

SELECT datetime(strftime('%s', 'now'),'unixepoch');

然后你会得到正确的结果。请参阅SQLite3's datetime function page