Vorhandenes englisches Datum ins deutsche umwandeln.

SprYnit

Grünschnabel
Ich bin dabei, einen Turnierkalender von Myleague ( http://www4.igl.net/cgi-bin/tourney/...ath=pooldreams ) der komplett auf Englisch ist, so umzuschreiben, dass ich Ihn komplett auf deutsch habe.
Soweit nicht das Problem. Siehe hier: Turnierkalender

Nun ist meine Frage, wie ich das oben bereits vorhandene, englische Datum ins deutsche umgeformt bekomme?

Standard: "Thursday, October 4, 2007"

Und ich hätte es gerne so:

4. Oktober 2007
oder
Donnerstag, der 4. Oktober 2007


Gibt es eine Möglichkeit, dies so zu machen?
 
http://ch2.php.net/manual/de/function.setlocale.php

Ob diese Funkion unterstützt wird hängt meistens aber sehr stark vom Server Anbieter ab.
Ansonsten würde ich jetzt spontan das Datum mit substr teilen und dann mit if diese zu ändern z.B

PHP:
if($month == "January")
{
 $month = "Januar";
}

Ist halt ein bisschen umständlich, sollte allerdings funktioieren...

Wenn es noch bessere Lösungen gibt.... her damit! ^^
 
http://de2.php.net/explode kann dir weiterhelfen. Diese Funktion teilt einen String an einem Zeichen und setzt diesen in ein Array. An deiner Stelle würde sich das Komma eignen...
PHP:
explode(",", "Thursday, October 4, 2007")
#ergebnis
Array {
 0 => Thursday
 1 => October 4
 2 => 2007
}

Und dazu noch Horre's lösung dir genauer anschauen :)
 
Ok ich seh grad das meine Lösung mit den ausgeschriebenen Monaten nicht funkionieren wird...

Bei meiner Lösung müsstest du das ganze z.B in dieser Form haben 11.03.2007 :rolleyes:

Aber das von X-Color in verbindung mit dem if ist wohl die beste Lösung.
 
Zuletzt bearbeitet:
Am einfachsten geht das wenn du dir dazu eine funktion schreibs.

Ich hab dir mal eine erstellt.

PHP:
function DatumsWandler($Datum) // von Deutsch auf Englisch Wandeln  { 
      if(strlen($Datum)==10)
      {
         $GewandeltesDatum = substr($Datum, 6, 4);
         $GewandeltesDatum .= "-";
         $GewandeltesDatum .= substr($Datum, 3, 2);
         $GewandeltesDatum .= "-";
         $GewandeltesDatum .= substr($Datum, 0, 2);
         return $GewandeltesDatum;
     }
    };

function Wandlung($Datuma) // von Englisch wieder ins Deutsche Format
  { 
      if(strlen($Datuma)==10)
      {
         $GewandeltesDatum = substr($Datuma, 8, 2);
         $GewandeltesDatum .= ".";
         $GewandeltesDatum .= substr($Datuma, 5, 2);
         $GewandeltesDatum .= ".";
         $GewandeltesDatum .= substr($Datuma, 0, 4);
         return $GewandeltesDatum;
     }
    };

Mfg Splasch
 
Weil heute Freitag ist, kriegste mal was geschenkt.

PHP:
<?php
setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge'); //Umgebung auf Deutsch setzen
$string = "Thursday, October 4, 2007";
$timestamp = strtotime($string); // String zu Timestamp wandeln
echo strftime("%A, der %d. %B %Y",$timestamp); //Gibt "Donnerstag, der 04. Oktober 2007" aus
echo strftime("%d. %B %Y",$timestamp); //Gibt "04. Oktober 2007" aus
?>
 
Danke erstmal für Eure Antworten.

Garnichts von alledem funktioniert.
Entweder verstehe ich es nicht oder es liegt vielleicht daran, dass das englishe Datum bei mir, schon vorgegeben ist und sich Tag für Tag aktualisiert, wie der ganze Kalender.

Vielelicht hilft das Euch ja weiter beim coden.
 
Zurück