php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.02.2012, 11:52  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard strftime liefert falschen Monat

Hallo Leuts

mal ein kleines Problemchen zwischendurch.

Ich möchte einen als Monatszahl vorhandenes Datum als Monatsname ausgeben.

Folgenden Code habe ich:

PHP-Code:
date_default_timezone_set("Europe/Berlin"); 
setlocale (LC_ALL'de_DE@euro''de_DE''de''ge''de_DE.utf-8');

echo 
strftime('%B',mktime(0,0,0,$a['monat'],0,0)); 
Es gibt dabei leider einen kleinen Fehler.
Und zwar wenn ich

PHP-Code:
$a['monat']=02
setze, erhalte ich anstatt Februar Januar.

Kann mir einer verraten woran das liegt?
pfump ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.02.2012, 11:59  
Erfahrener Benutzer
 
Registriert seit: 28.11.2011
Beiträge: 115
PHP-Kenntnisse:
Fortgeschritten
luzip befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

versuch es doch mal mit

Code:
echo strftime('%B',mktime(1,0,0,$a['monat'],1,0));
Quasi 1.2. 1Uhr.
luzip ist offline   Mit Zitat antworten
Alt 22.02.2012, 12:06  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard

Also habs jetzt so geändert:

PHP-Code:
echo strftime('%B',mktime(0,0,0,$a['monat'],1,0)); 
und siehe da, es funzt.

Mich würde ja interessieren warum bei 0 der Vormaonat genommen wird.
pfump ist offline   Mit Zitat antworten
Alt 22.02.2012, 13:46  
Erfahrener Benutzer
 
Registriert seit: 19.06.2009
Beiträge: 837
PHP-Kenntnisse:
Fortgeschritten
Jens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nett
Standard

Hanbuch lesen bildet...
Zitat:
Zitat von Manual
The number of the day relative to the end of the previous month. Values 1 to 28, 29, 30 or 31 (depending upon the month) reference the normal days in the relevant month. Values less than 1 (including negative values) reference the days in the previous month, so 0 is the last day of the previous month, -1 is the day before that, etc. Values greater than the number of days in the relevant month reference the appropriate day in the following month(s).
Gruß Jens
Jens Clasen ist offline   Mit Zitat antworten
Alt 22.02.2012, 13:48  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

'02' <= string
2 <= zahl
02 <= ???
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 22.02.2012, 13:52  
Erfahrener Benutzer
 
Registriert seit: 19.06.2009
Beiträge: 837
PHP-Kenntnisse:
Fortgeschritten
Jens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nett
Standard

Oktalzahl, wertgleich Über 09 würd ich mir mehr Sorgen machen...

Gruß Jens
Jens Clasen ist offline   Mit Zitat antworten
Alt 23.02.2012, 08:16  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard

@Jens Clasen:

Und wieder was gelernt. Danke für den Hinweis

@Wolla:

Ich hol mir das Datum bzw. den Monat per sql:

PHP-Code:
$sql="
   SELECT id,
          von,
          bis,
          status,
          wohnung,
          DATE_FORMAT(von, '%m') as monat,
          DATE_FORMAT(von, '%Y') as jahr
   FROM buchungen
   WHERE wohnung = "
.$wohnung.
   ORDER BY jahr, monat ASC"

Die Ergebnisse schreibe ich dann in ein Array.
Der Monat wird dabei von 01 - 12 gespeichert.

Dem strftime bzw mktime ist es dabei egal das die 0 vornan steht.

Ansonsten stell ich noch ein (int) davor und gut is.
pfump ist offline   Mit Zitat antworten
Alt 23.02.2012, 08:54  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

dann warte mal bis August / September mit deinem (int) vor dem String aus der Datenbank - ich wette mit dir, dass er es als Oktalzahl und damit falsch wertet.

Wenn du das Datum sowieso aus der Datenbank zerrst, dann nimm doch gleich strtotime, um daraus eine für PHP verständliche Zeitangabe zu machen, die kannst du dann auch umformatieren mit strftime
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 23.02.2012, 09:00  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard

Ich hab jetzt mal ein Datum im August und ein Datum im September
hinzugefügt.

Esw gibt keinerlei Probleme!
pfump ist offline   Mit Zitat antworten
Alt 23.02.2012, 13:09  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Du könntest auch

DATE_FORMAT(von, '%c') as monat,

nehmen, dann sind die führenden Nullen bei den ersten 9 Monaten weg.

__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] mySQL: Abfrage mit MAX liefert falschen Wert MLang Datenbanken 6 19.05.2011 17:23
[Erledigt] Datum formatieren ohne strftime bzw. date Arne Drews PHP Einsteiger 4 08.02.2011 16:41
mehrere Daten aus einem Monat zusammenfassen klicksor Datenbanken 6 18.11.2010 22:37
statistik: anzhal der user gruppiert nach monat waldaux Datenbanken 10 30.09.2010 17:23
[Erledigt] if-else und switch Micha72 PHP Tipps 2010 11 23.07.2010 11:50
Select Abfrage liefert falschen Wert tarian Datenbanken 3 22.03.2009 16:11
aktuellen Monat (auf Deutsch) Demirci_42 PHP Tipps 2009 1 29.01.2009 19:23
strtotime gibt falschen monat zurück cycap PHP Tipps 2008 7 01.08.2008 13:15
[Erledigt] is_dir liefert falschen Wert PHP-Fortgeschrittene 4 19.03.2005 12:27
monat und jahr mit php?! PHP Tipps 2005 2 01.01.2005 15:51
Datum und Uhrzeit in Html mit Js HTML, Usability und Barrierefreiheit 5 26.10.2004 16:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php strftime monat ohne 0, strftime php monat auf deutch

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:09 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum