你如何在SQLite中将secs转换为HH:MM:SS格式?

时间:2010-04-21 19:27:29

标签: datetime sqlite string-formatting

如何在SQLite中将secs转换为HH:MM:SS格式?

3 个答案:

答案 0 :(得分:14)

试试这个:

sqlite> SELECT time(10, 'unixepoch');
00:00:10

答案 1 :(得分:5)

如果你的秒数超过24小时,你需要自己计算。例如,使用100123秒,向下舍入到分钟:

SELECT (100123/3600) || ' hours, ' || (100123%3600/60) ||' minutes.'
27 hours, 48 minutes

timestrftime功能显然会每24小时转换为另一天。因此,以下显示3小时(第二天的时间):

SELECT time(100123, 'unixepoch')
03:48:43

要获得完整的27小时,您可以单独计算小时数,然后使用strftime分钟和秒:

SELECT (100123/3600) || ':' || strftime('%M:%S', 100123/86400.0);
27:48:43

答案 2 :(得分:0)

好吧,我会做这样的事情,但我得到的时间加上12 ......

SELECT strftime('%H-%M-%S', CAST(<seconds here> / 86400.0 AS DATETIME)) 

-- For subtracting the 12 hours difference :S
SELECT strftime('%H-%M-%S', CAST(<seconds here> / 86400.0 AS DATETIME) - 0.5)