两个日期之间的差异显示不正确

时间:2017-07-21 18:44:44

标签: sqlite date

我想找到两个日期之间的区别(Currentdate-Duedate)

我使用了Julianday('now')-Julianday(T1.DD),当结果为正时(当currentDate> DueDate时)结果显示正常,但是当DueDate>结果不正确时当前日期(负面结果比预期低1天)。

尝试了以下声明:

Select( CAST((Julianday('now')-Julianday(T1.DD)) As Integer)

数据库2017-07-21 00:00:00中的列DD的示例格式。

1 个答案:

答案 0 :(得分:2)

select case when julianday('now') > julianday(T1.DD) 
then cast (julianday('now') - julianday(T1.DD) as int) 
else cast ((julianday(T1.DD) - julianday('now')  + 1) as int) 
end 
from test;

更新1:

select cast(julianday('now') as int) - cast(julianday(T1.DD) as int) 
from test;

更新2:

select cast(julianday(date('now') )- julianday(date(T1.DD)) as int ) 
from test;