Tage Hochzählen

Pakche

Grünschnabel
hallo,
ich bräuchte ein script das Tage hochzählt Beispiel:LINK Ganz rechts neben den Mitgliedern werden die Tage hochgezählt kann mir einer erklären wie das geht oder mir sowas schreiben ?
Danke schonmal im vorraus
 
Wenn ich Sache richtig durchblickt habe, ist das kein Problem.
Du nimmst bei der Registrierung des Users das Datum als Timestamp mit.
Dann nimmst Du die aktuelle Timestamp und ziehst die Timestamp der Registrierung davon ab, teilst durch 60 um auf Minuten zu kommen, nochmal durch 60 um auf Stunden zu kommen und zu guter Letzt nochmal logischerweise durch 24 um die Tage zu erhalten.
Dann würde ich die Zahl noch runden, damit da nicht so etwas wie "Dabei seit 7,864229 Tagen" erscheint.

Als Code würde das dann ungef. so aussehen:
PHP:
<?php

$datum1 = "1054481873"; // Timestamp der Registrierung - hier konstant, Du kannst es aus der DB laden
$datum2 = time(); // aktuelles Datum als Timestamp

$diff = $datum2-$datum1; // ZeitUnterschied in Sekunden
$diff2 = $diff/60/60/24; // Umrechnung in Tage
$diff2 = round($diff2,0); // Runden der Zahl auf eine Natürliche

echo "Differenz Sekunden: $diff<br>";
echo "Differenz in Tagen: $diff2";

?>
Das wars eigentlich schon...


Mir ist da noch was eingefallen: alternativ kann statt der Umrechnung mit /60/60/24 auch mit der date()-Funktion umgerechnet werden.
das sähe dann so aus:
PHP:
]<?php

$datum1 = "1054481873"; // Timestamp der Registrierung - hier konstant, Du kannst es aus der DB laden
$datum2 = time(); // aktuelles Datum als Timestamp

$diff = $datum2-$datum1; // ZeitUnterschied in Sekunden
$diff2 = date(j,$diff); // Umrechnung in Tage mit date()

echo "Differenz Sekunden: $diff<br>";
echo "Differenz in Tagen: $diff2";

?>
 
Zuletzt bearbeitet:
erstmal vielen dank für die schnelle antwort :) aber eine frage hätte ich noch wie sähe zb der timestamp aus von Datum: 20.10.2002 ? könntest mir das auch noch sagen damit ich mir ein bild davon machen kann wie man das berechnet ? :) vielen dank schonmal
Ps. Super board :)
 
Hi,

nimm doch einfach den aktuellen timestamp, und ziehe davon die entsprechenden Sekunden bis zu diesem Datum ab.

bye
 
ok ok soviel ist mir klar nur ich hab nur das prob wie sieht der timestamp aus ? einfach 090603 ??? das ist ja mein prob :)
 
Nein, der sieht zum Beispiel so aus: 1055178130
Das sind Sekunden, welche seit einem bestimmten Zeitpunkt (weis nimmer wann genau) ständig hochzählen, und somit kannst du auch mit Sekunden rumrechnen.

bye
 
Original geschrieben von blubber
Nein, der sieht zum Beispiel so aus: 1055178130
Das sind Sekunden, welche seit einem bestimmten Zeitpunkt (weis nimmer wann genau) ständig hochzählen, und somit kannst du auch mit Sekunden rumrechnen.
bye
Der Timestamp ist die vergangene Zeit (in Sekunden) seit dem Januar 1 1970 00:00:00 GMT...
 
Original geschrieben von Moritz123
Mir ist da noch was eingefallen: alternativ kann statt der Umrechnung mit /60/60/24 auch mit der date()-Funktion umgerechnet werden.
das sähe dann so aus:
PHP:
]<?php

$datum1 = "1054481873"; // Timestamp der Registrierung - hier konstant, Du kannst es aus der DB laden
$datum2 = time(); // aktuelles Datum als Timestamp

$diff = $datum2-$datum1; // ZeitUnterschied in Sekunden
$diff2 = date(j,$diff); // Umrechnung in Tage mit date()

echo "Differenz Sekunden: $diff<br>";
echo "Differenz in Tagen: $diff2";

?>

Hallo,

also diese Umrechnung wird aber nicht funktionieren, weil das ja nur den Tag
des Monats ausgibt. Nicht aber die vergangenen Tage.

Ausserdem:
PHP:
<?php

$datum1 = "1054481873"; // Timestamp der Registrierung - hier konstant, Du kannst es aus der DB laden
$datum2 = time(); // aktuelles Datum als Timestamp

$diff = $datum2-$datum1; // ZeitUnterschied in Sekunden
$diff2 = $diff/60/60/24; // Umrechnung in Tage
$diff2 = round($diff2,0); // Runden der Zahl auf eine Natürliche <-- 

echo "Differenz Sekunden: $diff<br>";
echo "Differenz in Tagen: $diff2";

?>

Wenn du die Tage rundest, wird aller Wahrscheinlichkeit nach ein falscher Wert
rauskommen. Das erklärt sich z.B. daran: 2.6786 Tage würde dann 3 Tage ergeben.
Deshalb wäre folgendes besser:
PHP:
<?php

$datum1 = "1054481873"; // Timestamp der Registrierung - hier konstant, Du kannst es aus der DB laden
$datum2 = time(); // aktuelles Datum als Timestamp

$diff = $datum2-$datum1; // ZeitUnterschied in Sekunden
$diff2 = bcdiv( bcdiv( bcdiv( $diff2, 60 ), 60 ), 24, 0 ); // Es werden einfach die Nachkommastellen weggelassen

echo "Differenz Sekunden: $diff<br>";
echo "Differenz in Tagen: $diff2";

?>

Ist zwar ein schon etwas älterer Beitrag, aber naja...

Gruß

Nephlim
 
Zuletzt bearbeitet:
Zurück