8
votes

Comment convertiriez-vous des secondes à HH: MM: Format SS en SQLite?

Comment convertiriez-vous des secondes à HH: MM: SS Format SQLite?


0 commentaires

3 Réponses :


1
votes

Eh bien, je ferais quelque chose comme ça, mais je reçois des heures plus 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) 


2 commentaires

Je pense que c'est ajustement pour le début de l'époque. Je sais que cela peut travailler, je vais le travailler.


Eh bien, merci pour le nudge !! Je pensais que personne n'allait répondre donc je l'ai laissé tomber



16
votes

Essayez celui-ci:

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


3 commentaires

C'est ce que j'ai pensé à l'origine mais utilisé la filature au lieu du temps


Qu'en est-il de l'inverse? C'est-à-dire de 00:00:10 à 10.


Ceci est limité à la fois 24 heures ou moins. Au-delà de 24 heures, la valeur résultante est l'heure de la journée du (des) jour (s) suivant (s). I.e. Sélectionner une heure (60 * 60 * 24 + 600, 'Unixepoch') ne cède pas 24:10; Il donne 00:10 (10 minutes du lendemain). La bonne réponse est par MIVK. Le temps formaté serait printf ('% 3d', secondes / 3600)) || ':' || Strftime ('% M:% s', secondes / 86400.0)



8
votes

Si vos secondes sont supérieures à 24 heures, vous devez le calculer vous-même. Par exemple, avec 100123 secondes, arrondi aux minutes en minutes: xxx

the heure ou filtre fonctionnera évidemment toutes les 24 heures à un autre jour. Donc, ce qui suit montre 3 heures (heure le lendemain): xxx

Pour obtenir la totalité de 27 heures, vous pouvez calculer les heures séparément, puis utiliser Strftime pour les minutes et secondes: xxx


0 commentaires