Fehler bei Zeitberechnung mktime

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehler bei Zeitberechnung mktime

    Hallo!

    Ich habe mir eine Funktion zur Zeitberechnung gebastelt. Nun bekomme ich diese Fehlermeldung "Warning: mktime() expects parameter 1 to be long, string given in C:\..."
    Selsamerweise ist $time_last leer, ich finde einfach den Fehler nicht!

    Kann mir jemand helfen



    Code:
    function smarty_modifier_time_ago_in_words($params)
    {
        //return $params;
        list($date,$time) = explode(" ",$params);
        list($year,$mon,$mday) = explode("-",$date);
        list($hours,$minutes,$minutes) = explode(":",$time);
        list($time_today,$trash) = explode(".",microtime(true));
        $time_last = mktime($hours,$minutes,$minutes,$mon,$mday,$year); 
        
        $distance_in_minutes = round(($time_today - $time_last)/60);
        return "zeit".$time_last;
        if($distance_in_minutes <= 1)
            {return "1 Minute";}
        elseif($distance_in_minutes > 1 && $distance_in_minutes < 60)
            {return $distance_in_minutes." Minuten";}
        elseif($distance_in_minutes >= 60 && $distance_in_minutes < 120)
            {return "1 Stunde";}
        elseif($distance_in_minutes >= 120 && $distance_in_minutes < 1440)
            {return round($distance_in_minutes/60) ." Stunden";}
        elseif($distance_in_minutes >= 1440 && $distance_in_minutes < 2880)
            {return "1 Tag";}
        elseif($distance_in_minutes >= 2880 && $distance_in_minutes < 10080)
            {return round($distance_in_minutes/1440) ." Tagen";}
        elseif($distance_in_minutes >= 10080 && $distance_in_minutes < 20160)
            {return "1 Woche";}
        elseif($distance_in_minutes >= 20160 && $distance_in_minutes < 43200)
            {return round($distance_in_minutes/10080) ." Wochen";}
        elseif($distance_in_minutes >= 43200 && $distance_in_minutes < 86400)
            {return "1 Monat";}
        elseif($distance_in_minutes >= 86400 && $distance_in_minutes < 524160)
            {return round($distance_in_minutes/43200) ." Monaten";}
        elseif($distance_in_minutes >= 524160)
            {return "1 Jahr";}         
        elseif($distance_in_minutes >= 1048320)
            {return round($distance_in_minutes/524160) ." Jahren";}
    }

  • #2
    dann caste doch mittels (long)$var und fertig?
    Liebe Grüße,
    SteKoe!

    PHP Tutorials
    Peter Kropff | Quakenet | Schattenbaum.net

    Kommentar


    • #3
      In welcher Form wird denn die Zeit an die Fkt übergeben ? Hast du dir die Werte von $hours mal angeschaut ? z.B.
      PHP-Code:
      var_dump($hours); 
      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar

      Lädt...
      X