Monate ausgeben

low-group

Erfahrenes Mitglied
hi,

Wie kann ich die einzelnen Monate seid einem Datum ausgeben? Also ich habe ein Unixtimestamp vom z.b. Januar, nun will ich die Monate einzeln haben seid dem Januar, also 01, 02 und 03. Wenn der Timestamp im Oktober vorigen Jahres ist, sollte er ausgeben 10, 11, 12, 01, 02 und 03 .

Wie gehe ich da am besten ran? Hab im mom. keine Idee.
 
Original geschrieben von low-group
hi,

Wie kann ich die einzelnen Monate seid einem Datum ausgeben? Also ich habe ein Unixtimestamp vom z.b. Januar, nun will ich die Monate einzeln haben seid dem Januar, also 01, 02 und 03. Wenn der Timestamp im Oktober vorigen Jahres ist, sollte er ausgeben 10, 11, 12, 01, 02 und 03 .

Wie gehe ich da am besten ran? Hab im mom. keine Idee.

Wo ist das Problem:

Du hast einen Timestamp vom Januar und du bildest einen Timestamp von heute. Jetzt gibt es mehrere Möglichkeiten. Zum einen einfach die Differenz beider Timestamps ausrechnen und dann die Monate rausrechnen

Monat = 60 (sek) * 60 (min) * 24 (stunden) * 30 (tage im monat)

Das ist - zugegeben - sehr ungenau. Du kannst aber mit den Datumsfunktionen von PHP (siehe http://www.php.net) aber viel spezifischer arbeiten. Brauchen tust Du eigentlich nur den alten Timestamp und den aktuellen !
 
Das mit dem Monat ermitteln is ja nicht das Problem, sondern dies per Schleife ausgeben, also ich habe z.b. den Monat der Registrierung:

PHP:
 $today_month = formatdate("n.Y",'$regmonat';

und den vom jetztigen Monat:

PHP:
$today_month = formatdate("n.Y",time());

und dies muß irgendwie per Schleife ausgegeben werden, also alle Monate bis jetzt.
 
Immer ruhig mit den jungen Pferden ... Geduld ist eine Tugend! (hach bin ich spiessig :-) ) Habe doch nur abends Zeit =)))

Mal ein ganz kleines Beispiel:

PHP:
<?php

$regmon = "04"; // Registrierung Monat (April)
$regyr  = "2002"; // Registrierungsjahr

// datum der registrierung in unix timestamp umwandeln
$mj_uts_reg = mktime(0, 0, 0, $regmon, 0, $regyr);
// aktuelles datum in unix timestamp umwandeln (am besten gleiches format wie von der reg.)
$mj_uts_now = mktime(0, 0, 0, date("m"), 0, date("Y"));

// schleife - gibt monat für monat aus, bis zielmonat erreicht wird
while($mj_uts_reg<$mj_uts_now){
	echo date("m",$mj_uts_reg)."<br>"; // Ausgabe Monat
	$mj_uts_reg = strtotime ("+1 month", $mj_uts_reg); // Monat hinzufügen
}
?>

Funktioniert schon fast wie Du gerne hättest, ist aber irgendwo der Wurm drin ...
Datumsumrechnungen sind 'eigentlich' nicht meine Welt ;)
Aber vielleicht ist das schon mal ein Ideenansatz für Dich!

Ausgabe:
Code:
03
05
06
07
08
09
10
11
12
01
02
03
04
05
06
07
08
09
10
11
12
01
02
03

Und nicht vergessen: Net drängeln! Die Leute haben teilweise Jobs und helfen nur nebenbei und nicht 24 Stunden :rolleyes:
 
Zuletzt bearbeitet:
super genau so wollte ich es, mit dem datum umrechnen bekomme ich alles noch hin :-)
THX für deine Hilfe, dachte daß eventl. noch ein paar andre da wären.
 
Zurück