Zum Inhalt springen

PHP / MYSQL Zeit und Datum


Empfohlene Beiträge

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 :rolleyes:

Danke schonmal im vorraus

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ???

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...