Home  >  Article  >  Database  >  SQLite DateTime日期时区问题解决方法

SQLite DateTime日期时区问题解决方法

WBOY
WBOYOriginal
2016-06-07 17:48:373614browse

本文章来介绍一篇SQLite DateTime日期时区问题解决方法和一些小方法的应用介绍,有需要的朋友可以参考一下哈。

对于MSSQL中常见的DateDiff函数取两个日期间的天数差,在SQLite 中,有一个函数julianday,可以替换使用。

 

用法就是:julianday(datetime())-julianday(CreateTime) --CreateTime 是列名。

 

一直以来,都习惯性这么用,今天有点需求,同一点击在1天内有效,一开始写成:where julianday(datetime())-julianday(CreateTime) =0

 

经过调试之后,发现这里犯了几个错误。

 

1:julianday(datetime())-julianday(CreateTime)的差值出来的不是整数,是浮点数,所以不会等于0那么巧。

而datediff(d,getdate(),'2011-10-13 11:11:11') 出来的,是整数,这是一点区别。

 

2:datetime(),默认取的值是UTC时间,和我们默认的时间就产生时差,换成datetime('now','localtime'),就好了。

 

于是,最终正确的写法就成了:where julianday(datetime('now','localtime'))-julianday(CreateTime)

 

OK,本文就小小记录到这里了

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn