Monate errechnen ?

S

starfoxfs

Hi Leute,

Ich hab ein kleines Problemchen und zwar habe ich in meiner ausgelesenen Variable $data["lastactivity"] die letzte Aktivität stehen in Form eines Timestamps. sieht so etwa aus : 1094031830

So nun möchte ich das von der letzten Aktivität die Monate bis jetzt gezählt werden und dann in Monaten ausgegeben wird, sprich 1 Monat seit der letzten Aktivität oder 2 je nachdem wieviel Monat halt seit der letzten Aktivität vergangen sind.

Wie stell ich denn das am einfachsten an ?
 
Wenn Du keine exakte Berechnung brauchst, sondern eine etwaige, kannst Du den Timestamp der letzten Aktivität, von dem aktuellen Timestamp subtrahieren und durch 2628000 (1 Monat in Sekunden) dividieren.

snuu
 
Jo ok ganz genau brauch ich das auch nich, aber so wie ich es jetzt nach deinen Angaben geschrieben habe es noch nicht richtig:

PHP:
$today = time();
$ermitteln = $data["lastactivity"] - $today / 2628000;
$inaktiv = date("m", $ermitteln);
echo $inaktiv;

Vielleicht hab ich irgendwo einen Fehler eingebaut ich sehs bloß gerade nich er zeigt z.b. wenn die letzte Aktivität heute war 09 an wie 9 Monate kann nich ganz stimmen :rolleyes:
 
Die Date-Funktion in der vorletzten Zeile sollte überflüssig sein. Das ergebnis der Berechnung ist schon die Anzahl der Monate (wahrscheinlich mit vielen Nachkommastellen) :)
 
Hmm jetzt bekomm ich aber wieder nur nen Timestamp natürlich jetzt mit 1 Nachkommastelle gerundet weil ichs so angegeben hab.

1094069855.7 Monate so sieht das als Beispiel aus

PHP:
$today = time();
$ermitteln = $data["lastactivity"] - $today / 2628000;
$inaktiv = round($ermitteln, 1);
echo "" .$inaktiv. " Monate";
 
@ Snuu super jetzt danke für deine Mithilfe :-)

PHP:
$today = time(); // Timestamp momentane Zeit
$zeitraum = $today - $data["lastactivity"]; // Timestamp heute minus Timestamp letzte Aktivität
$monate = $zeitraum / 2628000; // ermitteln der Monate, Timestamp des Ergebnisses durch Sekunden eines Monats
$inaktiv = round($monate, 0); // Runden mit 0 Nachkommastellen
if ($inaktiv == "0") { // Wenn 0 Monate dann keine Ausgabe wenn 1 oder mehr Monate Ausgabe der Monate
echo "";
}else
{
echo "" .$inaktiv. " Monate"; }
 
Zuletzt bearbeitet von einem Moderator:
Zurück