Veröffentlicht 13. Juni 200421 j 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
13. Juni 200421 j 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
14. Juni 200421 j 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
14. Juni 200421 j Ja, warum auch einfach wenn's kompliziert geht Lass diese Berechnung doch gleich MySql ausführen, somit sparst du Code.
15. Juni 200421 j 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 ???
15. Juni 200421 j 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]
15. Juni 200421 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.