• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datum mit Monats-und Tagesnamen

Status
Für weitere Antworten geschlossen.

digga

Mitglied
Hallo, ich habe eine Ausgabe, von einem Datum:
PHP:
$ergebnis = @mysql_query($abfrage);
while($row = @mysql_fetch_object($ergebnis))
{
	$id = $row->id;
	$bilder_url = $row->url;
	$bilder_url = $bilder_url;
	$bilder_ip = $row->ip;
	$bilder_time = date($time_format, $row->time);
	$bilder_bis_time = $row->bis_time;
	$bilder_bis_time = 86400*$bilder_bis_time+$row->time;
	$bilder_bis_time = date($time_format, $bilder_bis_time);

nun möchte ich nicht, dass das datum so ausgegeben wird:
16.07.07 sondern so: Montag, 16. Juli 07

Die Anfänge hab ich schon:
PHP:
$monate = 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");
und:
PHP:
$tage = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
und:
PHP:
$monat = date("n");

was muss ich machen, damit die Namen auch ausgegeben werden, und nicht die Zahlen?
 
Also wenn du die Tage auf Englisch ausgegeben haben willst geht es ganz einfach:

l (kleines 'L') - Ausgeschriebener Tag der Woche - Sunday bis Saturday
In die Funktion date() einfach das 'l' einfügen und dann ausgeben.
 
Einfach:
Wie Vorposter sagte ein kleines l, und dann replacen.

PHP:
$datum = date("l");
$datum = str_replace("Monday", "Montag", $datum);
$datum = str_replace("Tuesday", "Dienstag", $datum);
// Usw.
MfG,matibaski
 
warum denn so umständlich
PHP:
$tage = array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');
echo $tage[date('w')];
 
LoL, deine ist deutlich besser.
Ich arbeite eben eigentlich nie mit arrays.
Also dass ist das erste Mal, wo ich sehe dass es sinn hat.

Hat jemand eine Seite oder sonst was, in dem arrays sinnvoll auftreten?
PHP.net müsst ihr nicht angeben. Dort sah ich keinen Sinn.
 
Hmpf Arrays sind eigentlich immer dann sinnvoll, wenn man viele Daten des gleichen Typs zusammenfassen möchte.
Hier also 7 Tage.
Bei Monaten wäre es dann zum Beispiel auch sinnvoll, oder beim auflisten von Dateien aus einem Verzeichnis, die man vorher ordnen möchte

Ansonsten habe ich noch das gefunden
Der Sinn von Arrays wird klar, wenn Sie sich vorstellen, welchen ungeheuren Aufwand Sie betreiben müssten, wenn Sie alle Produkte eines Shopsystems in individuellen Variablen ablegen wollten. Wahrscheinlich müssten Sie dann mit Tausenden von unterschiedlichen Variablen hantieren. Wenn man es genau nimmt, sind Sie bereits einem Array begegnet, nämlich $HTTP_GET_VARS. Hier legt der PHP-Interpreter offensichtlich eine einzige Variable an, mit deren Hilfe Sie auf viele Formularfelder zugreifen können.
 
Also nehmen wir folgendes Beispiel:
PHP:
$satz = array('Ich', 'bin', 'ein', 'Progger');
echo satz[4];
Jetzt kommt ja da das 4. Wort raus, oder?
Ich könnte es ja in 4 Variablen packen, und es käme auf dasselbe raus, oder nicht?
Einfach weniger Code schreiben.
Da kann man ja einfach Variablen nehmen :D



MfG, matibaski
 
Jetzt kommt ja da das 4. Wort raus, oder?
Nein! Die Variablen werden mit 0 anfangend gezählt. Demnach würde bei deiner Abfrage kein Wert ausgelesen, auch schon, weil du das $ vor "satz" vergessen hast. So weiss der Browser nicht, was gemacht werden soll.

Außerdem könntest du den Arrays noch Werte zuordnen:
PHP:
$satz = array("Person"=>"Ich", "Verb"=>"bin", "blub"=>"ein", "was"=>"Progger");
des weiteren kannst du arrays dem Feldnamen(das was du den arrays selber zugewiesen hast) oder nach dem Wert alphabetisch aufsteigend sowie absteigend sortieren. das geht mit ksort/krsort(Feldname; aufsteigend/absteigend) und asort/arsort(Wert; aufsteigend/absteigend)
Der Wert ist hierbei das "Ich" das "bin" das "ein" und das "Progger".

Du kannst auch noch andere Sachen mit arrays machen, z.B. auslesen, wie viele Arrays du hast.

Arrays sind sehr praktisch!
 
Ja hatte das $ Zeichen ausversehen nicht getippt. Aber bei meiner Lösung würde Wort4 rauskommen, oder`?
 
Wie ich schon gesagt habe:
Nein! Die Variablen werden mit 0 anfangend gezählt.

Das heißt:

Wenn du z.B die array so hast:
PHP:
$satz = array("Ich", "bin", "ein", "Beispiel", "einer", "Array");

würdest du so:
PHP:
echo $satz[4];

dieses Wort bekommen:
"einer"

und "einer" ist nicht das 4. Wort, sondern das 5., welches ausgegeben wird, da bei 0 angefangen wird zu zählen!
 
Aha, dann habe ich dich falsch verstanden.

Sorry, aber mein Kopf ist momentan so voll mit Codes :D



MfG, matibaski
 
Moin Moin,

warum so umständlich.

Code:
setlocale(LC_ALL,'de_DE.UTF8'); 

$zeit = strftime("%A, %d. %B %Y",$zeit);

Gruss
 
kannst du mir den code vielleicht ein wenig erklären??
ich bin nämlich jetzt zu folgendem Ziel gekommen:

PHP:
<?php
  $timestamp = time();

  $datum = date("d.", $timestamp);
  $monat = date("m,", $timestamp);
  $year = date("Y", $timestamp);

  $tage = array("Sonntag","Montag","Dienstag","Mittwoch",
  "Donnerstag","Freitag","Samstag");
  $monate = array(1=>"Januar", 2=>"Februar", 3=>"März", 4=>"April", 5=>"Mai", 6=>"Juni", 7=>"Juli", 8=>"August", 9=>"September", 10=>"Oktober", 11=>"November", 12=>"Dezember");

  

   $tag = date("w");
   $month = date("n");
 
         echo "Heute ist $tage[$tag], der $datum $monate[$month] $year";
   
?>

aber deine lösung würde mich auch mal interessieren, wenn du also genau beschreiben könntest, was du gemacht hast und wozu was gut ist, wäre das sehr hilfreich und ich wäre dir sehr dankbar!
 
moin moin,

also mit dem setlocale setzt du die locale einstellungen. mit dem ersten parameter wird bestimmt was gesetzt wird in diesem fall alle. der 2te parameter legt die sprache fest.

die function strftime formatier einen den zeitwert anhand der parameter des 1 parameters. in diesem fall,zb Dienstag, 17. Juli 2007. Wenn du nun anstatt de_De en_us einstellen würdest stände es in der gleichen formatierung da allerdings auf englisch.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben