今天在更新博客时遇到了一个问题,就是有一篇文章在归档中居然不显示,后来排查问题时发现问题导致的原因就是sqlite中datetime函数惹的祸。
我们取今天的凌晨日期,并用工具将它转换成时间戳,然后在sqlite中执行datetime函数看看这两个时间戳获取的是否一致。
下面我们调用datetime函数看看1533052800时间戳格式化后的日期是不是2018/8/1 00:00:00。
select datetime(1533052800, 'unixepoch') t_contents limit 1
我们看datetime函数将时间戳格式化成日期居然是错误的。那这又是什么原因呢?怎么解决呢?这是因为datetime函数确实是格式化日期函数,但默认返回的并不是当前时区的日期。如要返回当前时区的日期还需要添加localtime参数。
select datetime(1533052800, 'unixepoch', 'localtime') t_contents limit 1
这样我们就可以正确的通过时间戳格式化日期了。
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2018/08/01 15:42