simplex-media
Goto Top

Sekundenwert in Zeitformat

Hallo,
ich würde gerne ein sekunden wert in das format hh:mm:ss umwandeln und auf eine variable legen um den wert in einem echo ausgeben zu können.
Hage einige Berrechnungsversuche der Sekunden etc unternommen wie z.B.
$sekundenwert/3600 etc. nur habe ich kein vernünftiges Zeitformat erreicht face-sad hoffe es hat jemand ne Idee wie man das mit möglichst wenig aufwand umsetzen kann.

Content-Key: 94406

Url: https://administrator.de/contentid/94406

Printed on: April 19, 2024 at 08:04 o'clock

Member: Arano
Arano Aug 14, 2008 at 11:19:16 (UTC)
Goto Top
Moin face-smile

Ähm... Biber... Da hat sich wohl einer in der Kategorie vertan wie ? *grins*


Simplex-Media ich meine du suchst nach date()-PHP-Manual
Auf der linken Seite gibt es sonst noch ein paar mehr Datums-, Zeitfunktionen die interessant sein könnten.

Schonen Tag noch
~Arano
Member: Simplex-Media
Simplex-Media Aug 14, 2008 at 15:24:20 (UTC)
Goto Top
Die date() Funktion ist mir bekannt, nur weiß ich nicht wie ich damit einen sekundenwert wie z.B. 8459 Sekunden in den wert hh-mm-ss umwandeln soll
Member: Arano
Arano Aug 14, 2008 at 17:30:29 (UTC)
Goto Top
Mit
<?php
 $timestamp = 8459;
 echo date('H:m:s,$timestamp);  
?>
Weiss jetzt aber nicht genau wie hoch man das damit machen kann bevor 24 Stunden verrüber sind, dann würde ja ein Tag hinzukommen und die Stunden von NULL beginnen.

Bin auch gerade nicht zu hause, wenn ich es wieder bin, gucke ich noch mal wenn nicht schon jemand anderes den entscheidenen Hinweis gab.

~Arano
Member: Simplex-Media
Simplex-Media Aug 14, 2008 at 20:16:44 (UTC)
Goto Top
ok i know what you mean but,
date(H:i:s,0) ergibt erstaunlicherweise 01:00:00


habe jetzt aber eine lösung entwickelt die zusätzlich auch die tage mit errechnen kann und will sie natürlich nicht vorenthalten:

<?php

$sek=  96751;
        
$runtime= floor($sek/ 86400) . " Tage, ";  
if(($sek/86400) > 0)
$sek-= 86400 * floor($sek/ 86400);
            
$runtime.= floor($sek/ 3600) . " Stunden, ";  
if(($sek/3600) > 0)
$sek-= 3600 * floor($sek/ 3600);
        
$runtime.= floor($sek/ 60) . " Minuten, ";  
if(($sek/60) > 0)
$sek-= 60 * floor($sek/ 60);
        
$runtime.= $sek. " Sekunden.";  

echo "$runtime";  

?>
Member: Arano
Arano Aug 14, 2008 at 23:26:48 (UTC)
Goto Top
Nabend.

ok i know what you mean but,
date(H:i:s,0) ergibt erstaunlicherweise 01:00:00
So erstaunlich ist das gar nicht, im Gegenteil, das ist vollkommen richtig.
date('Y-m-d H:i:s',0) = 1970-01-01 01:00:00
Und dieses Datum sollte uns ja bekannt sein ^^

Erst dachte ich, man zieht von dem Zeitwert mit dem man rechne möchte, einfach eine Stunde ab... dann viel mir ein, das du anscheinend auch Tage benötigst und dachte, dann zieht man eben eine ganzen Tag+1Stunde ab.
Aber "dummerweise" gibt es keinen "Nullten-Tag" !
(Vor Tag 1 ist Tag 31 weil hier ja von einem Datum ausgegangen wird bzw. in diesem Fall der letzte Tag des vorherigen Monats).

So... bleibt wohl nicht anderes übrig als sich selber etwas zusammen zu bauen - so wie du !

Schönen Tag noch :D
~Tobias