Ergebnis 1 bis 8 von 8

Thema: PHP Zeit umrechnen

  1. #1

    Users Awaiting Email Confirmation

    PHP Zeit umrechnen

    PHP-Code:
    <?php
    $min
    =0;
    $stund=0;
    $sec=550;
    while (
    $sec>59)
    {
    $sec-60;
    $min++;

    while (
    $min>59)
    {
    $min-60;
    $stund++;

    echo(
    "h  min sek<br>");
    echo(
    "$stund : $min : $sec");
    ?>
    Das script ist vielleicht nicht allerschönst geschrieben, funktioniert aber soweit. allerdings nur, wenn der wert $sec unter 59 ist, ansonsten gibt es:

    Zitat Zitat
    Fatal error: Maximum execution time of 30 seconds exceeded in CProgramme\Apache Group\Apache2\htdocs\index.php on line 15
    nur frag ich mich, warum das interpretiewren eines solch simplen textes so lange dauert. oder sit irgentwo ein grober schlitzer drin?

    wäre für jede antwort dankbar!

    btw: mein webserver: http://164.25.181.23/

    --
    zack

    Geändert von Zack (08.03.2004 um 15:35 Uhr)

  2. #2
    Ich kenn mich in PHP nicht wirklich aus, aber ich poste einfach mal was mir aufgefallen ist.
    Code:
    Den Part:
    
    while ($sec>59) 
    { 
    $sec-60; 
    $min++; 
    } 
    
    würde ich ersetzen durch:
    
    if ($sec>59)
    {
      &sec == 0;
      $min++;
    }
    Genauso würde ich auch mit den minuten verfahren. Mit [§sec-60;] setzt du IMMO nicht den wert von $sec sondern rechnest ihn nur. Ich glaube das müsste so heissen [$sec == $sec - 60;]. Durch die verwendung einer while schleife bleibt das ganze dann hängen.

    Probiers einfach aus, ich bin mir net sicher.

  3. #3

    Users Awaiting Email Confirmation

    danke für die antwort. allerdigns möchte ich einen umrechner haben, der die zeit von sekunden in stunden und minuten umrechnet. und auf diese art bekomme ich maximal eine minute heraus, da nach dem einmaligen durchlauf der schleife die minuten auf 0 gesetzt werden. wenn ich aber sagen wir mal 180 sekunden eingeben würde bekomme ich 0:1:0 heraus. soweit ich das nu verstehe.
    aber ich probier trotzdem mal, danke

    edit: das doppelte gleich nutzt man doch nur bei vergleichen, wie zb bei einer bedingung in der if anweisung, oder? also setzt man $sec nicht gleich null.... allerdings versteh ich dann die bedeutung noch weniger...
    muss mich unbedingt mehr mit befassen...

    --
    zack

    Geändert von Zack (08.03.2004 um 17:47 Uhr)

  4. #4
    Ahh... PHP. ^___^
    PHP-Code:
    <?php
      $min   
    0;
      
    $stund 0;
      
    $sec   60;
      while(
    $sec 59)
      {
        
    $sec $sec 60;
        
    $min++;
      }
      while(
    $min 59)
      {
        
    $min $min 60;
        
    $stund++;
      }
      echo(
    "h  min sek<br>");
      echo(
    "$stund : $min : $sec");
    ?>
    Es muss wie Freezy gesagt hat $sec = $sec - 60; heißen. Das war's. Glaube ich. Also bei mir funzt's. ^^

  5. #5
    hm .... dumme frage, aber warum machst du das ganze nicht einfach ueber div und modulo ?

    $zeit = 550;
    $min = $zeit / 60;
    $sec = $zeit % 60;
    $hou = $min / 60;
    $min = $min % 60;

    soltle eigentlich so in etwa klappen

    Zur erklaerung / sei die Ganzzahldivision und % der Rest der Ganzzahldivision

    Gruss Ineluki

  6. #6

    Users Awaiting Email Confirmation

    Zitat Zitat
    Original geschrieben von Ineluki
    hm .... dumme frage, aber warum machst du das ganze nicht einfach ueber div und modulo ?
    keine dumme frage.
    ich bin einfach noch nciht soweit. momentan spiele ich einfach mal ein wenig mit den sachen und hoffe, dass es funktioniert. modulo hatte ich bisher erst in c und wusste nicht, ob es ebenfalls in php anwendbar ist.

    danke @ DragonThorm funktioniert!!
    habe also quasi

    "$whatever=" vor den eigentlichen rechnungen vergessen. dachte es würde automatisch der wert überliefert.
    vielen dank

  7. #7
    mhh..mhh. So:
    PHP-Code:
     echo date("H:i:s"mktime(0,0,105)); 
    Das ist die einfachste mögliche Methode, swiw.
    Mit mktime(h,m,s) erhält man nen UNIX-Timestampt, mit date("H:i:s") formatiert man diesen wieder in h:m:s. (In date() muss es i heißen)
    Hier kann man die ganzen Formatierungsmöglichkeiten von date() einsehen. SelfPHP ist sowieso in fast allen Dingen zu empfehlen. Man findet hier sogut wie alle normalen PHP-Befehle. Falls man doch ne komplette Referenz haben will ist http://www.php.net/ dann besser.

    Geändert von Dingsi (08.03.2004 um 19:20 Uhr)

  8. #8

    Users Awaiting Email Confirmation

    hab hier schon nen dicken php wälzer liegen, der über 1200 umfasst. hatte nur etwas zu kurz gedacht. wollte ja im endeffekt einfach die eingegebenen sekunden in tage, stunden, minuten sekunden umrechnen und ausgeben lassen. umd läuft inzwischen auch mit auswahl, ob es nur eine sekunde, oder mehrere sind (iss aj net allszuschwer )

    danke nochmals. werd mich wohl in nächster zeit öffters hier melden müssen, bei meiner tollpatschigkeit in mancherlei hinsicht

    --
    zack

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •