Bastian: Zeitangaben addieren

Hallo zusammen

Ich habe in einer Datenbank Songs gespeichert, zu welchen ich auch die Dauer erfasse. Mittels PHP möchte ich auch die Gesamtzeit eines Songsets ausgeben.

Die Dauer der einzelnen Tracks habe ich in Sekunden als Integer gespeichert. Irgendwo habe ich gelesen, das so mittels date() bequem die Zeitangaben in Minuten und Sekunden herausgegeben werden können. Für die einzelnen Tracks funktioniert das ganz gut, aber bei des Gesamtzeit hapert es.

Ein Set von Tracks hat beispielsweise eine Gesamtzeit von 3627 Sekunden. date('G:i:s', 3627) liefert aber 2:00:27 statt 1:00:27.

Vielleicht ist die ganze Sache mit Timestamps und date unsinnig (da es sich ja nicht um Daten handelt). Wie löse ich das wohl am besten?

Besten Dank für Hinweise

Bastian

  1. Hi,

    Ein Set von Tracks hat beispielsweise eine Gesamtzeit von 3627 Sekunden. date('G:i:s', 3627) liefert aber 2:00:27 statt 1:00:27.

    date() liefert keinen Zeitraum, sondern einen Zeitpunkt. In Deiner Zeitzone war es 3627 Sekunden nach Epoch offenbar 2 Uhr und 27 Sekunden.

    Wie löse ich das wohl am besten?

    Ein bisschen Modulo und Division wirken Wunder.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. echo $begrüßung;

    date('G:i:s', 3627) liefert aber 2:00:27 statt 1:00:27.

    Der Unix-Timestamp 3627 bezeichnet die Zeit 1:00:27 UTC oder 2:00:27 MEZ (am 1.1.1970). Zu den Zeit-Funktionen gibt es immer auch eine Variante mit "gm" im Namen, die UTC-Zeiten zurückliefert.

    echo "$verabschiedung $name";

  3. Ah, an die Zeitverschiebung habe ich gar nicht gedacht. Merci für den Hinweis.