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

Datetime 如何在SQLite中将secs转换为HH:MM:SS格式?,datetime,sqlite,string-formatting,Datetime,Sqlite,String Formatting,在SQLite中如何将secs转换为HH:MM:SS格式?嗯,我会这样做,但我得到的是小时加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

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

嗯,我会这样做,但我得到的是小时加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) 
试试这个:

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

如果你的秒数超过24小时,你需要自己计算。例如,100123秒,四舍五入为分钟:

SELECT (100123/3600) || ' hours, ' || (100123%3600/60) ||' minutes.'
27 hours, 48 minutes
时间或strftime函数显然将每24小时转换为另一天。因此,以下显示了第二天的3小时时间:

SELECT time(100123, 'unixepoch')
03:48:43
要获得完整的27小时,可以分别计算小时数,然后使用strftime表示分钟和秒数:

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

我认为这是新纪元的开始。我知道它可以工作,我会解决的。好吧,谢谢你的轻推!!我以为没人会回答,所以我放弃了。这是我最初的想法,但使用strftime而不是time。反过来呢?也就是说,从00:00:10到10。时间限制为24小时或更少。超过24小时后,生成的值为接下来几天的时间。i、 e.选择时间60*60*24+600,“unixepoch”不产生24:10;第二天的10分钟是00:10。正确答案是mivk。格式化的时间将是printf“%3d”,秒/3600:“| | strftime“%M:%S”,秒/86400.0