WinFuture-Forum.de: PHP mit DateInterval rechnen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

PHP mit DateInterval rechnen


#1 Mitglied ist offline   skelle 

  • Gruppe: aktive Mitglieder
  • Beiträge: 793
  • Beigetreten: 15. Juli 04
  • Reputation: 0

geschrieben 22. Oktober 2011 - 15:33

Hallo,
gibt es in PHP eine brauchbare Möglichkeit mit Dateintervalobjekten zu rechnen?

Ich habe 2 Zeitspannen und möchte diese addieren bzw subtrahieren.
Dabei sollten die Werte natürlich richtig aktualisiert werden.

30minutes + 31minutes = soll halt 1h und 1minute sein und nicht 61 minutes.

Grüße
0

Anzeige



#2 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.111
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 22. Oktober 2011 - 16:36

Beitrag anzeigenZitat (skelle: 22. Oktober 2011 - 15:33)

Hallo,
gibt es in PHP eine brauchbare Möglichkeit mit Dateintervalobjekten zu rechnen?

Ich habe 2 Zeitspannen und möchte diese addieren bzw subtrahieren.
Dabei sollten die Werte natürlich richtig aktualisiert werden.

30minutes + 31minutes = soll halt 1h und 1minute sein und nicht 61 minutes.

Grüße

Ich würde es technisch so machen, aber eine entsprechende Funktion dazu basteln.

$zeit1 = 30;
$zeit2 = 31;

$zeit_summe= $zeit1+$zeit2;
$zeit_hilfsvar = floor($zeit_summe/60);

$zeit_ausgabe= $zeit_hilfsvar." h:".($zeit_summe-($zeit_hilfsvar*60))." min";


echo($zeit_ausgabe);




huch, hatte noch was vergessen.

Ach gleich mal als Funktion und ohne Hilfsvariablen alles zusammengefasst:


also die Funktion:


function zeitdifferenz($zeit1,$zeit2)

{
return (floor(($zeit1 + $zeit2)/60))." h : ".(($zeit1 + $zeit2)-((floor(($zeit1 + $zeit2)/60))*60))." min" ;
}





und dann muß man nur die Funktion vorher aufrufen und braucht, wenn man die Differenz ausgeben will, nur

echo(zeitdifferenz(30,34));



aufzurufen. (Statt der Zahlen dann natürlich die Variablen, welche die Zeiten enthalten.)


Edit: Ja ich mach manchmal wegen der Übersichtlichkeit für mich mehr Klammern, als man eigentlich bräuchte, die eventuell überflüssig sind aber nicht falsch. Ich habs gerne sehr eindeutig.

... und immer wenn ich mir sowas ausgeknobelt habe, finde ich weine Woche später eine Standardfunktion, die das von sich aus macht.


Ich hoffe, es irritiert nicht zu sehr, dass ich die Funktion zeitdifferenz genannt hab und eigentlich ne Summe berechnet wird. Ist ja nur ein Wort und ne Summe kann ja auch eine Differenz sein.


Achso noch was, ich mach das selbst eher nicht so, sondern drösel sämtliche Datum- und Zeitangaben, die ich irgendwie habe in Sekunden auf bzw. nutze den Unix-Timestamp, rechne mit diesen Zahlen und benutze dann für die Formatierung die allgemeinen Funktionen, die es in php gibt wie date(). Ist auch viel entspannter, wenn man in der Datenbank einfach nur diese Zahlen hat und dann bastelt man sich für die Ausgabe verschiedene Funktionen und muß dann immer nur diese eine Zahl einsetzen.

Dieser Beitrag wurde von Holger_N bearbeitet: 22. Oktober 2011 - 17:20

Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0