SQLite:将差异表示为两个给定日期之间的天,小时,分钟

时间:2011-11-10 07:03:20

标签: sqlite datetime datediff

我试图将日期,小时和分钟(如1天,6小时,17分钟)中两个给定日期的差异表示为SQLite查询输出。我在SQLitedatabase中有entryinentryoutdatetime字段。我尝试了juliandaystrftime的所有组合,但仍然遇到恶劣天气。

我试过了strftime('%d %H:%M', julianday(entryout)-julianday(entryin))。对于行,值为2011-11-10 11:462011-11-09 09:00。但输出为25 14:46而不是01 02:46

有人能帮我解决这个问题,还是指出了正确的逻辑?提前谢谢。

1 个答案:

答案 0 :(得分:10)

您可以尝试这样的事情:

SELECT
    CAST((strftime('%s', '2011-11-10 11:46') - strftime('%s', '2011-11-09 09:00')) / (60 * 60 * 24) AS TEXT) || ' ' ||
    CAST(((strftime('%s', '2011-11-10 11:46') - strftime('%s', '2011-11-09 09:00')) % (60 * 60 * 24)) / (60 * 60) AS TEXT) || ':' ||
    CAST((((strftime('%s', '2011-11-10 11:46') - strftime('%s', '2011-11-09 09:00')) % (60 * 60 * 24)) % (60 * 60)) / 60 AS TEXT);