• so also ich hab eine hoffentlich für euch realtiv eifnach zu beantwortende frage, also ich hab in meinem PHP script diese zeile

    Code
    $datum = date ("1 dS of F Y h:i");

    jetzt wird das datum aber auf englisch also so

    Code
    1 23rd of April 2006 11:03


    (aha wo kommt der 1er jetzt her.... naja darum gehts ja jetzt nicht)
    aber ich hätte halt gerne 23.April 11.03
    also eine andere anzeigen art ganz einfach
    kann mir einer von euch sagen wie die commandos dafür lauten?
    danke im voraus

    ...nein eigentlich ist es doch anders.
    ____________________________
    Hier Könnte Ihre Werbung Stehen!

  • Moin!

    Ganz so einfach wie du dir das vorstellst ist es nicht.
    Aprill war nun grade ein schlechtes Beispiel, den April heißt in englisch auch april - aber bei anderen Monaten hast du das Porblem, daß PHP englisch spricht und deutsche Monatsnamen nicht kennt.

    Du mußt als in mehreren Schritten vorgehen, wenn du deutsche Monatsnamen anzeigen willst.

    Code
    <?PHP
    $MONAT_ARRAY = array("","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
    $NOW = time();
    $M = date("n",$NOW);
    $datum = date("d. ",$NOW)." ".$MONAT_ARRAY[$M].date(" Y,  h:i",$NOW)." Uhr";
    echo $datum;
    ?>

    Erklärungen:

      - das Monate-Array beginnt mit einem leeren Wert (""), da es einen Monat null nicht gibt, alternativ könnte man natürlich auch den Wert M immer minus eins rechnen.
      - $M ist der Wert des gesuchten Monats, also 4 für April. Damit wird der 5. Wert aus dem Array mit dem Monatsnamen geholt (=April, das Array beginnt immer mit null)
      - das ganze wird dann mit einer Datumsformatierung für den Tag des Monats, dem Jahr und der Zeit zusammengefaßt und angezeigt.
      - Voila

    G.a.d.M.

    Ronald

  • Das komplizierte daran ist nur die deutsche Schreibweise der Monatsnamen, strftime hilft dir da auch nicht weiter und ist dann sogar noch komplizierter.
    PHP spricht eben standardmäig nur englisch, deshalb das Array mit der deutschen schreibweise der Monatsnamen.

    Schau es dir mal genau an, bzw. zeig mir das gleiche Ergebnis mit strftime?
    Ich wette, daß du deutlich mehr Script (Zeichen) benötigst.

    G.a.d.M.

    Ronald

    Edit: ich ziehe die Wette zurück. In dem Fall wie sheepdog es braucht, geht es mit strftime und setlocale. Ich hatte mich daran mal versucht in einem Script, was gleichzeitig französisch Ausgaben an den Admin und deutsche (oder italienische, englische) Ausgabe für den User macht - da kam einiges durcheinander. Seitdem gehe ich den Weg über das Array, das ist mir (für meine HPs) sicherer, als das ständige hin- und herschalten.

    R.

  • ja sehr schön habt ihr das gemacht allerdings hilft mir das ganze überhaupt nichts wenn ich nicht weis wie ich es einsetze
    ich kann nämlich mit diesen quelltext bröseln die ihr mir da liefert schlecht ein brot backen ähm ich meine eine funktion machen....

    ...nein eigentlich ist es doch anders.
    ____________________________
    Hier Könnte Ihre Werbung Stehen!

  • Code
    // "englisches datum"
    $datum = date("Y-m-d H:i:s");
    
    
    // englisches -> deutsches
    	list($jahr,$monat,$rest) = split("-",$datum);
    	list($tag,$rest2) = split(" ",$rest);
    	list($std,$min,$sec) = split(":",$rest2);
    	$jahr = substr($jahr, -2);
    	$datum = $tag.".".$monat.".".$jahr." um ".$std.":".$min;


    damit kann man ganz gut arbeiten finde ich (mit dem ersten)

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!