FisyX Geschrieben 13. Juni 2004 Teilen Geschrieben 13. Juni 2004 Ich möchte die anzahl der Tage ermitteln die zwischen dem Datum 01.06.2004 und dem heutigen datum liegen. Wie kann ich das am besten realisieren.... Währe für jede hilfe dankbar denn mit timestamp und so kenn ich mich noch rech wenig aus... hab mal geggogelt und hab was gefunden... jedoch war mein verständniss = 0 Danke schonmal im vorraus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mr. D Geschrieben 13. Juni 2004 Teilen Geschrieben 13. Juni 2004 Hi so hab mal kurz was gebastelt mal sehen obs dir weiter hilft $Heute=date("d.m"); // Berechnet den Tag und Monat des heutigen Tages $Datum=date("d.m",mktime(1,1,1,06,01,2004)); // Formatiert das Datum 01.06.2004, es wird nur der tag und monat ausgelesen, also 01.06 echo $Tage=$Heute-$Datum; //Berechnet die vergangenen Tage [/PHP] So der String $Tage müsste den wert 12 nun ergeben. Also sind 12 Tage seit dem 1.6 vergangen, wenn es über nen monat zb. geht dan gibt er 12.01...also 12 Tage und 1 Monat aus .Das kannst du ja mit ner Schleife so umgehen das er ab dem "." den String trennt und dan ausgibt ..bla bla...12 Tage und 1 Monat....oder so hoffe dir is jetzt geholfen^^ mfg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
computercrustie Geschrieben 14. Juni 2004 Teilen Geschrieben 14. Juni 2004 SELECT TO_DAYS(datum) - TO_DAYS('2004-06-01') AS tage FROM tabelle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 14. Juni 2004 Autor Teilen Geschrieben 14. Juni 2004 So, hab das jetzt mal auf meine weiße gelöst ^^ Also mein Problem war es, ich wollte den Usern meiner Community anzeigen lassen wie viele tage sie schon registriert sind. Habe also bei der Registrtion mit dem Code: strtotime("now") (Wandelt ein beliebiges Datum (englisches Format) in einen UNIX-Zeitstempel (Timestamp) um) Das aktuelle Datum in die Datenbank eintragen lassen. Nun hole ich mir bei jedem einloggen diesen Wert aus der Datenbank und führe einen vergleich durch: $start_date = strtotime("now"); $end_date = datenbankeintrag; function diff_days($start_date, $end_date) { return floor(abs($start_date - $end_date)/86400); } echo function diff_days($start_date, $end_date) [/PHP] Somit bekomm ich die Anzahl der Tage raus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
computercrustie Geschrieben 14. Juni 2004 Teilen Geschrieben 14. Juni 2004 Ja, warum auch einfach wenn's kompliziert geht Lass diese Berechnung doch gleich MySql ausführen, somit sparst du Code. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 15. Juni 2004 Autor Teilen Geschrieben 15. Juni 2004 Ja schon klar ... wie du im beispiel gebracht hast .... doch wie bekomme ich das datum z.b 11.06.2004 ins richtige format damit dies auch zu vergleichen geht ??? Bei meinem beispiel hab ichs ja umgewandelt... wie kann ichs bei deinem umwandeln ??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
computercrustie Geschrieben 15. Juni 2004 Teilen Geschrieben 15. Juni 2004 Versteh ich nicht ?! Du wolltest doch die Tagesdifferenz zum 01.06.2004 haben, oder nicht ? Die hast du jetzt, und zwar in Tagen. [EDIT] Falls du die formatierte Ausgabe eines Datums via MySql meinst: SELECT DATE_FORMAT(datum,'%d.%m.%Y') FROM tabelle [/EDIT] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
computercrustie Geschrieben 15. Juni 2004 Teilen Geschrieben 15. Juni 2004 Noch etwas: anstatt des festen Datums kannst du auch das aktuelle nehmen: SELECT TO_DAYS( NOW() ) - TO_DAYS( anmeldedatum ) AS angemeldete_tage, DATE_FORMAT( anmeldedatum, '%d.%m.%Y') AS angemeldet_seit FROM tabelle Wenn "anmeldedatum" ein Feld mit einem Datumtyp in der Tabelle "tabelle" ist, dann liefert diese Abfrage für jeden Datensatz folgende Felder zurück: angemeldete_tage: Anzahl Tage seit Anmeldung (bis jetzt) angemeldet_seit: Datum des Anmeldens im Format dd.mm.yyyy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.