PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Zeit aufsplitten (http://www.selfphp.de/forum/showthread.php?t=10558)

Spike15 21.05.2005 07:34:01

Zeit aufsplitten
 
Hallo liebe Community, ich sitze hier gerade an meinem Browserspiel und komme sehr gut vorran, doch jetzt habe ich eine frage. Ich habe eine Formel entwickelt, womit sich die Zeit um jede Stufe erhöht, aber das habe ich alles in Sekunden gespeichert, also 90 s oder 320 s.

Nun meine Frage, weiß einer wie ich das am besten in stunden:minuten:sekunden aufsplitten kann, sprich bei 90 sekunden
1minute:30sekunden?


Vielen dank für die Hilfe.

nivram 21.05.2005 09:05:23

AW: Zeit aufsplitten
 
Kleine Anregung:
Warum hat 1 Tag 24 Stunden?
Warum hat 1 Stunde 60 Minuten?
Warum hat 1 Minute 60 Sekunden?
Warum teilst du nicht einfach durch 60?
Damit bekommst doch was du möchtest!
Habe da natürlich auch ne Funktion für:

PHP-Code:

function zeit($durchschn){
            
$tage floor($durchschn/86400);
            
$rest $durchschn-($tage*86400);
            
$stunden floor($rest/3600);
            
$rest $rest-($stunden*3600);
            
$minuten floor($rest/60);
            
$sekunden $rest-($minuten*60);
            return array(
$sekunden,$minuten,$stunden,$tage);
            }

list (
$sekunden$minuten$stunden$tage) = zeit($durchschn); 

In der Variable $durchschn muss die Zeit in Sekunden stehen!

Viel Spaß..

Gruß,
nivRam

Spike15 21.05.2005 09:25:32

AW: Zeit aufsplitten
 
erstmal danke dafür, doch ich habe noch nie mit list gearbeitet und weiß jetzt nicht wenn ich jetzt zeit(90); eingebe wie ich dann jetzt 1:30 rausbekomme bei deinem script,also wie rufe ich des auf das es des ausgibt, mit echo usw. scheint es net zu gehen

verstehste wie ich des meine?

Esco 21.05.2005 12:14:12

AW: Zeit aufsplitten
 
es ist ein array deswegen musst du es so aus geben:
PHP-Code:

$var zeit($durchschn);
echo 
$var[3]." Tage ".$var[2].":".$var[1].":".$var[0]; 

Was soll das list dort bringen? warum machst du das nicht als normales array?

Serp 21.05.2005 14:35:13

AW: Zeit aufsplitten
 
Nur noch n Hinweis am Rande, um den Rest bei einer Ganzzahldivision zu ermitteln gibts den Modulo-Operator %:

Du hättest dann zum Beispiel $rest = $durchschn % 86400

Und anstatt floor() zu verwenden könntest du das ganze auch per (int) als Integer interpretieren lassen, das müsste eigentlich das gleiche machen und man muss nicht erst nachdenken was floor() jetzt genau macht ;)

nivram 21.05.2005 18:40:23

AW: Zeit aufsplitten
 
Die Daten stehen ganz normal in den Variablen $stunden, $tage usw drin!

Einfach folgendes coden und du bekommst die Minuten und Sekunden:

PHP-Code:

<?php

print $minuten.":".$sekunden;
?>

Thats it!

xabbuh 21.05.2005 21:54:46

AW: Zeit aufsplitten
 
Warum nimmst du nicht date() bzw. strftime()?

meikel (†) 22.05.2005 01:48:01

AW: Zeit aufsplitten
 
Zitat:

Zitat von xabbuh
Warum nimmst du nicht date() bzw. strftime()?

Weil das falsch wäre.

25.16. Wie wandle ich Sekunden in Tage/Stunden/Minuten/Sekunden um?
http://www.php-faq.de/q/q-code-intervall.html


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:45:09 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.