tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
1189
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Papenburger Papenburger ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    198
    Hallo,

    ich habe zwei Daten, welche ich mit der Funktion strtotime() in ein Timestamp umwandle.

    Die Daten sehen wie folgt aus:
    1. Datum: 2007-05-24 15:08:46
    2. Datum: 2007-11-05 14:11:45
    Nun möchte ich mit hilfe einer Funktion auslesen können, wieviele Tage, Stunden, Minuten und Sekunden seit dem 1. Datum vergangen ist. Wie kann ich das mit einer einzigen Funktion realisieren.

    Das ganze soll zum schluss in ein einziges Feld gepackt werden und etwas so aussehen:
    24d 12h 15m 2s
    Wer kann mir dabei helfen?


    Mit freundlichen Grüßen
    Daniel Meyer
     

  2. #2
    Veränderung Veränderung ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    144
    Zitat Zitat von Papenburger Beitrag anzeigen
    1. Datum: 2007-05-24 15:08:46
    2. Datum: 2007-11-05 14:11:45
    Also sind das die Daten vor der Formatierung? Denn ein Timestamp ist ja nur eine Zahl.
    Du kannst einfach den jüngsten Timestamp vom älteren abziehen, dann hast du die Differenz in Sekunden. Das muss dann mittels einer Funktion in Monate, Tage, Stunden usw. geteilt werden. Ich muss mal in Ruhe schauen ob es dafür auch eine Funktion gibt, vielleicht findest du sie auch.
     
    Danke für jede Hilfe. Als Dank: Telefonverarschungen

  3. #3
    Registriert seit
    May 2007
    Ort
    Köln / Bonn
    Beiträge
    844
    Blog-Einträge
    4
    Falls die Daten aus einer MySQL Datenbank kommen, solltest du sie direkt dort voneinander abziehen und dir wie du es wünschst formatiert ausgeben.
     
    Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.

  4. #4
    Papenburger Papenburger ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    198
    Die Daten kommen aus der Datenbank aber ich kann und darf an der Datenbank nichts ändern, da mittlerweile ein zu großes Script daran angebunden wurde und wenn ich etwas hinzufüge bzw. ändere funktioniert das Script nicht mehr.
     

  5. #5
    Registriert seit
    May 2007
    Ort
    Köln / Bonn
    Beiträge
    844
    Blog-Einträge
    4
    Ich sprach ja auch nur vom auslesen.... so in etwa:

    Code sql:
    1
    
    SELECT TIMEDIFF(`end`,`start`) AS differenz FROM TABLE
    oder wenn du lieber mit den UTS arbeitest:

    Code sql:
    1
    
    SELECT UNIX_TIMESTAMP(`end`)-UNIX_TIMESTAMP(`start`) AS differenz FROM TABLE
     
    Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.

  6. #6
    katlina katlina ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    34
    Hallo liebe Foris, dazu hätte ich auch noch zwei Fragen: wie muss ich genau diesen Befehl mit timediff in meine PHP-Datei schreiben (z.B. $sql = SELECT TIMEDIFF(`end`,`start`) AS differenz FROM TABLE) ? Wie kann ich das Ergebnis zur Weiterbearbeitung bereit machen (z.B. ausgeben oder in einer Datenbank speichern) ? Vielen Dank im Voraus.
     

  7. #7
    Avatar von Kahmoon
    Kahmoon Kahmoon ist offline Mitglied Platin
    Registriert seit
    Dec 2003
    Ort
    München
    Beiträge
    527
    Da die Daten im Timestampformat ja immer gleich formatiert sind kannst Du auch mit substr() die Blöcke auslesen und dann beliebig verwenden.

    z.B. in einen Unix Timestamp umwandeln.
    PHP-Code:
    function convertdate($timestamp)
    {
        
    $jahr substr($timestamp04);
        
    $monat substr($timestamp52);
        
    $tag substr($timestamp82);
        
    $std substr($timestamp112);
        
    $min substr($timestamp142);
        
    $sek substr($timestamp172);

        return 
    mktime($std$min$sek$monat$tag$jahr);
    }

    print 
    convertdate('2007-05-24 15:08:46'); 
    Geändert von Kahmoon (03.01.08 um 11:22 Uhr)
     

Ähnliche Themen

  1. Sekunden in Stunden:Minuten:Sekunden ausgeben.
    Von reeng im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 06.05.09, 08:34
  2. Berechnung von Sekunden in Stunden und Minuten
    Von brainsucker im Forum PHP
    Antworten: 9
    Letzter Beitrag: 22.07.08, 12:13
  3. Antworten: 9
    Letzter Beitrag: 24.09.04, 17:46
  4. Antworten: 10
    Letzter Beitrag: 14.12.03, 17:58
  5. Sekunden -> Stunden:Minuten:Sekunden
    Von Sputnik im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.10.02, 09:01