Zurück   Flashforum > Flash und Server > PHP und MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-05-2005, 14:37   #1 (permalink)
peoplesinstinctivetravel
 
Benutzerbild von ran2
 
Registriert seit: Aug 2002
Ort: konstanz
Beiträge: 775
datum - wochentage auf deutsch mit angeben

Hallo zusammen,

nachdem ich wirkliche defizite der datumsverabeitung mit sql hatte ( danke frohni für den hinweis )

hab ich mich nun gebessert, hoffe ich zumindest. vielleicht können das ein paar datumsanfänger auch brauchen.

man baut sich folgendes numerisches 2 dim. array:

PHP-Code:

$wt  
= array(
          
"0" => array(=>'Sonntag''Montag''Dienstag''Mittwoch''Donnerstag''Freitag''Samstag'),
          
"1" => array(=>'So''Mo''Di''Mi''Do''Fr''Sa')
          ); 

dann hat man die möglichkeit sich $wt[0][$wtz]; oder $wt[1][$wtz]; , das zeigt dann einmal die tage mit vollem namen und einmal mit abkürzung an.

der $wtz gib den wochentage als zahl, dazu verwendet man einfach die
sql abfrage
PHP-Code:
mysql-> SELECT DAYOFWEEK (deindatumsfeld); 
und liest dann das ergebnis in den $wtz string, so lässt sich ohne große funktion usw schnell ein deutsche wochentage anzeige basteln.

hab das jetzt mal so gemacht, dacht mir ich haus mal hierher vielleicht kann es wer ausser mir brauchen...
ran2 ist offline   Mit Zitat antworten
Alt 27-05-2005, 15:00   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
http://php.benscom.com/manual/de/function.setlocale.php
PHP-Code:
setlocale (LC_ALL'de_DE@euro''de_DE''de''ge'); 
?
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 27-05-2005, 15:19   #3 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
Ui zu spät

<?php

setlocale(LC_TIME, array('de_DE','deu','german'));

for( $i = 1; $i < 13; $i++)
for( $j = 1; $j < 32; $j++)
echo "$j - ".strftime('%A der %d. %B %Y | %c', mktime(0,0,0,$i,$j,2005))."\n";

?>

@nightflyer
Mit deu und germany kann man ggf. Windows noch ein wenig bändigen.
__________________
elias ist offline   Mit Zitat antworten
Alt 27-05-2005, 15:40   #4 (permalink)
peoplesinstinctivetravel
 
Benutzerbild von ran2
 
Registriert seit: Aug 2002
Ort: konstanz
Beiträge: 775
is you dissin´my posse ?

ne quatsch danke für die behebung der bildungslücke, man lernt nie aus und ich dachte das wäre elegant
ran2 ist offline   Mit Zitat antworten
Alt 27-05-2005, 18:05   #5 (permalink)
JPF
Gast
 
Beiträge: n/a
Bei mir funktionieren beide von euren Varianten nicht Bei welchen Servern funktionierts denn wohl und wann nicht? Oder kann es auch an der PHP-Konfiguration liegen?
  Mit Zitat antworten
Alt 27-05-2005, 18:11   #6 (permalink)
peoplesinstinctivetravel
 
Benutzerbild von ran2
 
Registriert seit: Aug 2002
Ort: konstanz
Beiträge: 775
also meines hab ich bei php 4.3.8 getestet und sql glaub 4.1 .

die funktion der anderen beiden ist auf jeden fall so wie es von php gedacht wurde und sollte eigentlich auch ab php3 funzen.

was bekommst du denn für eine fehlermeldung... ?
ran2 ist offline   Mit Zitat antworten
Alt 27-05-2005, 18:15   #7 (permalink)
schnarchnase
 
Registriert seit: Jan 2002
Ort: konstanz
Beiträge: 2.953
http://www.php.net/setlocale/

Zitat:
setlocale() gibt die neue Einstellung oder FALSE (wenn die locale-Funktionalität auf der System-Plattform nicht unterstützt wird oder der Kategorie-Wert ungültig ist) zurück. Ein ungültiger Kategorie-Name erzeugt auch noch eine Warnmeldung.

Anmerkung: Der Rückgabewert von setlocale() ist von dem System abhängig, auf dem PHP läuft. Es wird genau das zurückgegeben, was die Systemfunktion setlocale zurückgibt.
ich verlasse mich auch nicht unbedingt auf setlocale() ... und arbeite mit language-files....
__________________

perlen vor die säue.
rechtschreibfan ist offline   Mit Zitat antworten
Alt 27-05-2005, 18:21   #8 (permalink)
JPF
Gast
 
Beiträge: n/a
Ne, es kommt gar keine Fehlermeldung, aber der Wochentag wird halt einfach auf Englisch angzeigt...

Als die Seite noch auf einem anderen Server (unter Linux) lag, ging es ohne Probleme.
  Mit Zitat antworten
Alt 27-05-2005, 19:00   #9 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
ich hoffe du formatierst dein Datum wirklich bit strftime und nicht etwa mit date
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 27-05-2005, 19:06   #10 (permalink)
peoplesinstinctivetravel
 
Benutzerbild von ran2
 
Registriert seit: Aug 2002
Ort: konstanz
Beiträge: 775
@jpf

also meine version ist arbeitet ja mit sql dayofweek abfrage zusammen ohne die geht es eh nicht sql dayofweek gibt nummenr für wochentage aus die dann in dem 2 dimensionalen array zugeordnet werden.

was die anderen beiden vorschlagen ist eine funktion die eigens in php dafür schon vorhanden ist....

als wenn du sagst es funktioniert nicht mit beiden möglichkeiten muss doch irgendeine fehlermeldung kommen ? sonst würde es ja gehen

wenn du dein datumabfragst und dann sofort ausgibst (mit echo) dann isses ja klar dass das noch vorhandene englische datum ausgegeben wird...

entweder du nimmst den datumsstring und formatierst um (wenig elegant, da bin ich dein mann)
oder du lässt dir den string gleich ausgeben wie du ihn willst, schon besser. --> dann frag die anderen

wenn das setlocal nicht das mit dem array MUSS gehen.

viel spass...

sonst poste einfach mal code dann kann leichter was umschreiben...
ran2 ist offline   Mit Zitat antworten
Alt 28-05-2005, 08:47   #11 (permalink)
Neuer N00b
 
Benutzerbild von Frohni
 
Registriert seit: Jun 2004
Ort: Norddeutschland SH
Beiträge: 427
Zitat:
Zitat von Nightflyer
ich hoffe du formatierst dein Datum wirklich bit strftime und nicht etwa mit date
Also ich formatiere Datums/Zeitangaben ausschließlich mit date(). Was hat das denn für Nachteile, oder habe ich das jetzt falsch verstanden ?

Gruß, Frohni
Frohni ist offline   Mit Zitat antworten
Alt 28-05-2005, 10:15   #12 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
PHP-Code:
<?php
echo date("r")."<br>";
echo 
strftime("%c")."<br>";    
setlocale (LC_ALL'de_DE@euro''de_DE''de''ge'); 
echo 
date("r")."<br>";
echo 
strftime("%c")."<br>";
ergibt:

Sat, 28 May 2005 11:14:23 +0200
Sat May 28 11:14:23 2005
Sat, 28 May 2005 11:14:23 +0200
Sam 28 Mai 2005 11:14:23 CEST

Soll heissten das setlocal() nur strftime beeinflusst
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 28-05-2005, 11:53   #13 (permalink)
peoplesinstinctivetravel
 
Benutzerbild von ran2
 
Registriert seit: Aug 2002
Ort: konstanz
Beiträge: 775
na da bin ich ja noch nochmla beruhigt dass meine array lösung nur halbdoof ist, hatte nämlich auch wie frohni (auf dessen hinweis ) date verwendet...
ran2 ist offline   Mit Zitat antworten
Alt 28-05-2005, 15:14   #14 (permalink)
JPF
Gast
 
Beiträge: n/a
Also mein Code sieht so aus:

PHP-Code:
setlocale (LC_ALL"de_DE");
...
...
...
echo 
strftime("%A, %d. %B %Y, %R Uhr"$timestamp); 
Der hat ja auch prima funktioniert, bis die Seite auf einen anderen Server umgezogen ist, seitdem wird halt der Wochentag nur auf Englisch ausgegeben... Hab mir dann notgedrungen auch ne Lösung mit nem Wochentag-Array gebastelt, aber anders ist es halt einfacher.
  Mit Zitat antworten
Alt 28-05-2005, 19:28   #15 (permalink)
peoplesinstinctivetravel
 
Benutzerbild von ran2
 
Registriert seit: Aug 2002
Ort: konstanz
Beiträge: 775
hmm da würde ich sage siehe beitrag von rechtschreibfan...
ran2 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

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

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele