Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP5.3.2 | Kommazahl zu Zeitangabe

Einklappen

Neue Werbung 2019

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

  • cnc_darklord
    hat ein Thema erstellt PHP5.3.2 | Kommazahl zu Zeitangabe.

    PHP5.3.2 | Kommazahl zu Zeitangabe

    Hallo,
    ich habe hier ein recht einfach Problem komme allerdings auf keine Zufriedenstellende Lösung.

    Durch eine Berechnung bekomme ich eine Fließkommazahl geliefert die mir Minuten angibt. (Bsp.: 5.521 => 5Min 31sec 26ms )
    Per Hand ist dies für statische Werte trivial zu berechnen.

    Nun ist aber die Minutenanzahl beliebig groß und ich möchte Dynamisch auf Jahr/Monat/Tag/Stunden/Minuten/Sekunden/ms umrechenen können. Da dies ein häufiges Problem ist habe ich mal umgesehen, habe aber keine fertige Funktion gefunden die mir dies ermöglicht.

    Ich dachte mir das das Timestamp Format vermutlich am praktischten ist um mit Zeiten zu rechnen, da ich später noch Zeitangaben addieren möchte (SPL DateTime Class), habe ich dazu im PHP Manual nachgeschlagen und habe die function [MAN]mktime[/MAN] und [MAN]date[/MAN] entdeckt.
    Der Weg aber die Fließkommazahl in ihre einzelnen Bestandteile zu zerlegen (und die ganzen IF-Konstrukte) schien mir aber doch zu umständlich und bin jetzt auf der Suche nach einer Eleganter Lösung.

    Ich hoffe Ihr könnt mir den einen oder anderen Hinweis geben damit ich dieses Problem sinnvoll lösen kann.

  • cnc_darklord
    antwortet
    Oh man, danke ich habe diesen entscheidenden Hinweis übersehen!
    mktime() is useful for doing date arithmetic and validation, as it will automatically calculate the correct value for out-of-range input. For example, each of the following lines produces the string "Jan-01-1998".
    Somit kann ich einfach alles in Sekunden an mktime übergeben und mktime macht für mich den Rest. Ich wusste ja das es einfacher geht.

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    nun du hast ja quasi schon nen timestamp, muss ihn nur mit 60 multiplizieren ..

    $Zeit= date("Y-m-d - H:i:s",$minuten*60+mktime(0,0,0,1,1,startjahr); // mktime liefert den timestamp(=sekunden seit 1.1.1970) vom 1.1. startjahr , 0:00:00 Uhr ) darauf dann einfach deine Minuten *60 für sekunden

    liefert dir schonmal Jahr - Monat- Tag - Stunden, Minuten, Sekunden ...

    für weitere Formatierung ... http://www.selfphp.info/funktionsref...ionen/date.php

    wenn du die Informationen einzeln haben willst, dann führe jeweils nur eines der Formatzeichen in date("?", ....) auf .. anstelle des ?

    Einen Kommentar schreiben:

Lädt...
X