Как бы вы конвертировали секунды в формат ЧЧ: ММ: СС в SQLite? - PullRequest
6 голосов
/ 21 апреля 2010

Как бы вы конвертировали секунды в формат ЧЧ: ММ: СС в SQLite?

Ответы [ 3 ]

14 голосов
/ 21 апреля 2010

Попробуйте это:

sqlite> SELECT time(10, 'unixepoch');
00:00:10
6 голосов
/ 27 марта 2013

Если ваши секунды больше 24 часов, вам нужно рассчитать их самостоятельно. Например, с 100123 секундами и округлением до минут:

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

Функции time или strftime, очевидно, будут преобразовывать каждые 24 часа в другой день. Таким образом, следующее показывает 3 часа (время на следующий день):

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

Чтобы получить полные 27 часов, вы можете рассчитать часы отдельно, а затем использовать strftime для минут и секунд:

SELECT (100123/3600) || ':' || strftime('%M:%S', 100123/86400.0);
27:48:43
0 голосов
/ 21 апреля 2010

Ну, я бы сделал что-то вроде этого, но у меня есть часы плюс 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) 
...