Heim > Datenbank > MySQL-Tutorial > SQLite DateTime日期时区问题解决方法

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

WBOY
Freigeben: 2016-06-07 17:48:37
Original
3650 Leute haben es durchsucht

本文章来介绍一篇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,本文就小小记录到这里了

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage