Monat 06 als Juni anzeigen
Andreas
- php
Hallo
ich habe ein Datumformat JJJJ-MM-TT (2003-06-01)
in der Datenbank.
Ich möchte das der Monat "06" als Monat "Juni" ausgegeben wird.
Also Array:
$m_array = array('Dezember','Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November');
//nur den Monat auslesen
$monatsauswahl = substr($zeile["datum"], 5,2);
//echo $monatsauswahl gibt 06 aus
echo $m_array[$monatsauswahl];
jetzt erhalte ich gar nichts
wo ist mein Fehler
wer kann mir einen Tipp geben ?
Danke
Hallo,
machs so:
<?php
$monate = array(1=>"Januar",
2=>"Feber",
3=>"März",
4=>"April",
5=>"Mai",
6=>"Juni",
7=>"Juli",
8=>"August",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"Dezember");
$monat = date("n");
echo $monate[$monat];
?>
Das geht dann.
MFG
Andavos
Hallo
$monat = date("n");
Das ist aber mit einem aktuellen Datum und nicht wie von mir angegeben ($monatsauswahl = substr($zeile["datum"], 5,2);)aus einem Datum den Monat herauslesen
oder geht das auch?
Hi Andreas,
oder geht das auch?
wenn du dein Array entsprechend baust, d.h.
"01" => "Januar",
"02" => "Februar",
...
dann wird das gehen.
Gruss,
Carsten
Hi,
habe ich
$m_array = array(
01 => "Januar",
02 => "Februar",
03 => "März",
04 => "April",
05 => "Mai",
06 => "Juni",
07 => "Juli",
08 => "August",
09 => "September",
10 => "Oktober",
11 => "November",
12 => "Dezember");
$monatsauswahl = substr($zeile["datum"], 5,2);
$m_array[$monatsauswahl]
geht nicht
Hi,
$m_array = array(
01 => "Januar",
Der Vorschlag war auch ein anderer, nämlich
"01" => "Januar",
^ ^
^ ^
usw.
cu,
Andreas
$monat = date("n");
wie ich es mir dachte, es geht nicht warum auch immer
noch ein Tipp?
Hallo,
also bei mir geht der Script ohne Probs.
Was steht bei dir?
Oder wie willst du das machen?
Ich habs so verstanden.
Du möchtest das Aktuelle Datum mit Monats Namen anzeigen lassen.
Dann machs doch so:
<?php
$monate = array(1=>"Januar",
2=>"Feber",
3=>"März",
4=>"April",
5=>"Mai",
6=>"Juni",
7=>"Juli",
8=>"August",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"Dezember");
$monat = date("n");
$tage = date("d");
$jahr = date("Y");
echo "$tage ";
echo $monate[$monat];
echo " $jahr";
?>
So bekommst du dann das Datum: 23 September 2003
MFG
Andavos
Hallo
Du möchtest das Aktuelle Datum mit Monats Namen anzeigen lassen.
Nein
ich habe geschrieben das ich ein Datum aus der DB auslese
und mit $monatsauswahl = substr($zeile["datum"], 5,2); mir den Monat ausgebe...
Hallo,
möglichkeit 1:
Mit hilfe von dem Script den Monatsnamen in die DB eintragen.
<?php
$monate = array(1=>"Januar",
2=>"Feber",
3=>"März",
4=>"April",
5=>"Mai",
6=>"Juni",
7=>"Juli",
8=>"August",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"Dezember");
$monat = date("n");
....
$de_eintrag = "INSERT INTO tabelle (monat...)
VALUES ('$monate[$monat]'....)";
$eintragen = mysql_query($de_eintrag);
?>
Dann ist der Name bereits in der Tabelle
Oder du musst eine extra Spalte in der DB anlegen, wo dann die Nummer vom Monat ist.
Die Spalte liest du aus und mit Hilfe von dem Script gibts du dir den Monatsnamen aus.
Eine andere Möglichkeit kenn ich nicht
MFG
Andavos
Hallo,
Datumformat JJJJ-MM-TT (2003-06-01) in der Datenbank.
Ich möchte das der Monat "06" als Monat "Juni" ausgegeben wird.Also Array:
$m_array = array('Dezember','Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November');
Ist Dezember bei Dir "00" (Null)?
Besser so:
$m_array = array(1=>'Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
//nur den Monat auslesen
$monatsauswahl = substr($zeile["datum"], 5,2);
//echo $monatsauswahl gibt 06 aus
Eben ein String.
Musst Du vielleicht in eine Zahl umwandeln:
$monatzahl=intval($monatsauswahl);
»» echo $m_array[$monatsauswahl];
jetzt erhalte ich gar nichts
wo ist mein Fehler
$m_array["06"] ist nicht definiert.
$m_array[6] dagegen schon.
Mit $m_array[$monatzahl] sollte es funktionieren.
---
Du kaemst eventuell auch so zum Ziel (sauberer Weg, ohne das Rad neu zu erfinden):
Lass Dir das Datum schon von MySQL im Unix-Timestamp-Format zurueckgeben.
SELECT UNIX_TIMESTAMP(spaltenname) FROM Tabelle WHERE ...
Befehl UNIX_TIMESTAMP, siehe
http://www.mysql.com/doc/en/Date_and_time_functions.html
Diesen Wert legst Du in PHP z.B. in der Variable $unixtimestamp ab.
Dann sagst Du PHP mit
setlocale(LC_TIME, 'de_DE', 'de', 'ge');
http://www.php.net/manual/de/function.setlocale.php
dass Datumsausgabe auf Deutsch erfolgen soll
Dann kriegst Du mit
strftime("%B",$unixtimestamp)
http://www.php.net/manual/de/function.strftime.php
den Monatsnamen.
Dieser zweite Weg hat den grossen Vorteil, dass Du z.B. bei einer Uebersetzung
keinen neuen Array mit den Monatsnamen erstellen musst, sondern Du kannst dafuer
einfach auf PHP zurueckgreifen, indem Du bei setlocale() das andere
Sprach-/Laenderschema einstellst.
Du musst allerdings ausprobieren, ob es bei Deinem Provider mit Deiner PHP-Version
funktioniert.
HTH, Gruesse,
Thomas
Hi Thomas,
Du musst allerdings ausprobieren, ob es bei Deinem Provider mit Deiner PHP-Version
funktioniert.
Das ist das leidige Problem, weswegen ich die Array Lösung auch schon mal gemacht habe. Das setlocale() war eine langwierige Rumfummelei mit schlecht dokumentierten Konstanten die auf jedem System andere Ergebnisse brachte, davon wenig zufriedenstellende. Hab ich unter 'dann eben nicht' abgehakt obwohl es ja eigentlich die 'richtige' Lösung wäre.
Gruss,
Carsten