我试图将日期,小时和分钟(如1天,6小时,17分钟)中两个给定日期的差异表示为SQLite查询输出。我在SQLitedatabase中有entryin
和entryout
个datetime
字段。我尝试了julianday
和strftime
的所有组合,但仍然遇到恶劣天气。
我试过了strftime('%d %H:%M', julianday(entryout)-julianday(entryin))
。对于行,值为2011-11-10 11:46
和2011-11-09 09:00
。但输出为25 14:46
而不是01 02:46
。
有人能帮我解决这个问题,还是指出了正确的逻辑?提前谢谢。
答案 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);