Datum Wochentage von engl. in de
stefan
- php
hallo,
ich habe eine Ausgabe: date("D") und würde diese gerne in eien deutsche Ausgabe umwandeln. Also nicht Mon, Tue etc. sonder MO, DI etc.
vielen Dank und aller beste Grüße
stefan
hallo
------8< *SNIP* >8------
<?PHP
$day = date("D");
$tag;
switch ($day) {
case "Mon":
$tag = "MO";
break;
case "Tue":
$tag = "DI";
break;
case "Wed":
$tag = "MI";
break;
------8< *SNIP* >8------
usw.
Sollte etwa so aussehen. Wenn das funktioniert ist das mein erstes PHP-Skript! (SelfPHP ist mein Freund)
MfG
Tom2
Mahlzeit,
Sollte etwa so aussehen. Wenn das funktioniert ist das mein erstes PHP-Skript! (SelfPHP ist mein Freund)
Nich hauen, aber das sind Kanonen auf Spatzen. ;) Die ärmsten.
Wenn von Hand, dann mach doch mit einem assoziativen Array.
$wochentage['monday'] = 'Montag';
$wochentage['sunday'] = 'Sonntag';
print $wochentage[strtolower(date('D'))];
Gruss, Thoralf
Mahlzeit,
En Guete
Sollte etwa so aussehen. Wenn das funktioniert ist das mein erstes PHP-Skript! (SelfPHP ist mein Freund)
Nich hauen, aber das sind Kanonen auf Spatzen. ;) Die ärmsten.
Hä? Was soll das heissen? (ausser, dass du eine bessere Lösung hast :)
Wenn von Hand,...
Kenne PHP nicht, war mein erster Gehversuch (und du hilfst mir soeben wieder aufzustehen *g*).
dann mach doch mit einem assoziativen Array.
Ich wusste nicht, dass es sowas in PHP gibt.
Rein primitiv-programmiertechnisch funktioniert meine Lösung doch auch oder?
MfG
Tom2
Mahlzeit,
En Guete
*bg*
Nich hauen, aber das sind Kanonen auf Spatzen. ;) Die ärmsten.
Hä? Was soll das heissen? (ausser, dass du eine bessere Lösung hast :)
Das heisst, dass die Lösung zu aufwendig ist. ;)
Wenn von Hand,...
Kenne PHP nicht, war mein erster Gehversuch (und du hilfst mir soeben wieder aufzustehen *g*).
Gern doch. ;)
dann mach doch mit einem assoziativen Array.
Ich wusste nicht, dass es sowas in PHP gibt.
Gibt es, und die sind im Zugriff erstaunlicherweise recht schnell.
Rein primitiv-programmiertechnisch funktioniert meine Lösung doch auch oder?
Ja, vorbehaltlich übersehener Tippfehler. ;)
Thoralf
Hallo Thoralf
Nich hauen, aber das sind Kanonen auf Spatzen. ;) Die ärmsten.
Hä? Was soll das heissen? (ausser, dass du eine bessere Lösung hast :)
Das heisst, dass die Lösung zu aufwendig ist. ;)
Vom Programmieraufwand oder vom Rechenaufwand her?
Ich hab mir über den Mittag bei einem Kollegen das Buch "Jetzt lerne ich PHP & MySQL" ausgeliehen und werde dieses Wochenende mal reinschauen.
Ich bin in ASP und SQL einigermassen fit, kannst du mir ein Buch für den Umstieg empfehlen?
Wenn von Hand,...
Kenne PHP nicht, war mein erster Gehversuch (und du hilfst mir soeben wieder aufzustehen *g*).
Gern doch. ;)
Dankeschön.
dann mach doch mit einem assoziativen Array.
Ich wusste nicht, dass es sowas in PHP gibt.
Gibt es, und die sind im Zugriff erstaunlicherweise recht schnell.
Wo bekommt man solche Performance-Infos her?
MfG und bestem Dank
Tom2
Hallo Tom, hallo Forum,
Vom Programmieraufwand oder vom Rechenaufwand her?
Beides, Du hast eine komplette Kontrollstruktur (switch), Auge und Ich 'nur' assoziative Arrays. Ist etwas schwer zu erklären. PHP kann für die Arrays komplett interne (hoffentlich optimierte) Befehlsfolgen verwenden. Für das switch muss VOR der Verwendung der internen Rechnerei erstmal Dein Code 'verstanden' werden. Unwesentlich, aber eben doch Mehraufwand. Und der läppert sich.
Der Aufwand, den Du hast, ist geringer, da bei Erstcoding leichter. Aber gerade bei späterer Pflege wirst Du Bereich mit 20-zeiligen Code-Geflechten lieben ;) ;)
Ich hab mir über den Mittag bei einem Kollegen das Buch "Jetzt lerne ich PHP & MySQL" ausgeliehen und werde dieses Wochenende mal reinschauen.
Ich bin in ASP und SQL einigermassen fit, kannst du mir ein Buch für den Umstieg empfehlen?
Sorry, kann ich nicht. Ich bin von ASM/C++ auf PHP geklettert, da ist die Entwicklung sehr ähnlich. Ich selbst nutze da schon länger keine Bücher mehr, zu trocken und fehlerbehaftet. Empfehlenswert sind die 'Standard'-Seiten und dort die Nutzer-Kommentare. Da ist gerade für nen Programmierer deutlich mehr an praktischer Erfahrung rauszusammeln. Dürfte also auch Dir mehr helfen. :)
Dankeschön.
:o)
dann mach doch mit einem assoziativen Array.
Ich wusste nicht, dass es sowas in PHP gibt.
Gibt es, und die sind im Zugriff erstaunlicherweise recht schnell.
Wo bekommt man solche Performance-Infos her?
Selbst testen, auf Windows merkt man jeden Performance-Fehler sehr viel besser als letztlich auf *nix, da Windows da sehr viel anfälliger ist.
Gerade solche Sachen finde ich oft in Foren, Boards und in den (moderierten) Kommentaren auf php.net & co.
Gruss, Thoralf, der sich weiss Gott nicht für einen PHP-Guru hält ;)
Hallo
Wenn von Hand, dann mach doch mit einem assoziativen Array.
$wochentage['monday'] = 'Montag';
...
$wochentage['sunday'] = 'Sonntag';
print $wochentage[strtolower(date('D'))];
Noch einfacher, alles in ein Array:
$tage = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"); //Festlegung der deutschen Schreibweise, beginnend bei So = 0
$tag = date("w"); //Wochentag ermitteln
echo $tage[$tag]; //Wochentag anzeigen
Von http://www.schattenbaum.net entnommen
Tschüß, Auge
Hallo,
Noch einfacher, alles in ein Array
stimmt natürlich. Auge hat recht. Wenn ich mich nur auf date('D') konzentriere, läßt die Betriebsblindheit grüssen. :)
So geht's noch schneller.
Thoralf
Mahlzeit,
ich habe eine Ausgabe: date("D") und würde diese gerne in eien deutsche Ausgabe umwandeln. Also nicht Mon, Tue etc. sonder MO, DI etc.
http://www.php.net/manual/de/function.setlocale.php ist dein Freund, aber unbedingt(!) auch die Kommentare lesen.
setlocale( LC_TIME, '' ); # Die Standard-Werte des Servers
setlocale( LC_TIME, 'de_DE' ); # fuer deutsche Sprache
Zitat von http://www.php.net/manual/de/function.date.php
"Um Datumsangaben in anderen Sprach-/Zeitzonen-Formaten auszugeben, sollten sie die Funktionen setlocale() und strftime() nutzen."
Deswegen ürde ich die Ausgabe selbst dann aber mit http://www.php.net/manual/de/function.strftime.php machen.
MfG, Thoralf
hallo & vielen Dank erstmal,
setlocale( LC_TIME, '' ); # Die Standard-Werte des Servers
setlocale( LC_TIME, 'de_DE' ); # fuer deutsche Sprache
ich benutze:
$tstamp = mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
$gestern = date("D", $tstamp); // ISO-8601 Format
um den Wochentag zu erhalten. Wie kann ich das denn nun mit strftime bearbeiten.
grüße stefan
Hier ein Auszug aus nem alten Script von mir:
$m = date( 'm' ); $d = date( 'd' ); $Y = date( 'Y' );
$heute = mktime(0, 0, 0, $m , $d, $Y);
$gestern = mktime(0, 0, 0, $m , $d - 1, $Y);
$vorgestern = mktime(0, 0, 0, $m , $d - 2, $Y);
setlocale( LC_TIME, 'de_DE' );
und nun hängt es davon ab, was Du mit dem Wochentag machst. Wenn es nur um den geht:
$wochentag = strftime( '%A', $gestern );
Schau Dir mal die Links an, die ich gepostet habe, da stehen die einzelnen Format-Strigs drin. Falls Du denn auch abgekürzten Wochentag und sowas brauchst.
HtH
ja, genauso hab ich es auch gelöst.
$m = date( 'm' ); $d = date( 'd' ); $Y = date( 'Y' );
$heute = mktime(0, 0, 0, $m , $d, $Y);
$gestern = mktime(0, 0, 0, $m , $d - 1, $Y);
$vorgestern = mktime(0, 0, 0, $m , $d - 2, $Y);
setlocale( LC_TIME, 'de_DE' );
bis hier ist es klar
und nun hängt es davon ab, was Du mit dem Wochentag machst. Wenn es nur um den geht:
$wochentag = strftime( '%A', $gestern );
Nun noch eine Frage: Wie kann ich alle Variablen, also $heute, $gestern etc. formatieren. Hab ich nicht hinbekommen?
HtH
$wochentag = strftime( '%A', $gestern );
Nun noch eine Frage: Wie kann ich alle Variablen, also $heute, $gestern etc. formatieren. Hab ich nicht hinbekommen?
Diese Variablen sind allesamt sog. Timestamps, mit strftime kannst Du diese Timestamps in jedem beliebigen Format ausgeben. Schau halt mal den Link an, der ist auf Deutsch, da ist jedes einzelne (%A, %a, %D usw.) beschrieben, daraus baust Du Dir Dein Zeitformat zusammen.
Gruss, Thoralf