Datumsformat Wochentage

  • Hallo Leute, ich hab auch mal wieder ne Frage...

    Ich steh gerade ein bisschen auf dem Schlauch. Für eine Website an der Ich gerade arbeite, möchte ich ein Datum in der Form "Wochentag, DD." ausgeben, also z.B. "Mittwoch, 18." Dieser Wert muss aber als sortierbares Datum oder Timestamp in der DB gespeichert werden.

    Wenn irgend möglich soll auch die Usereingabe nach dem selben Format vorgenommen werden können, wobei ich da auch einen Datepicker verwenden könnte.

    Lösungsansätze: Da PHP mwn. keine deutschen Wochentage kennt werde ich wohl mit str_replace/str_ireplace vorgehen müssen, bevor ich das mache wollte ich aber noch Fragen, ob jemand einen besseren Vorschlag hat.

    Danke schon im Voraus,
    -Lukas

    EDIT: So, jetzt bin ich zuhause und kann auch meinen momentanen Ansatz posten:

    PHP
    function evalDate($date) {
        $unprocessed = date("N|j", $date);
        $days_of_week = array(1 => "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag");
    
        list($dow, $day) = explode("|", $unprocessed);
    
        $return_string = $days_of_week[$dow].", ".$day.".";
        return $return_string;    
    }


    Die Eingabe geschieht nach Format "dd.mm.yyyy" und wird mit strtotime() in einen Timestamp umgewandelt, welcher in einem INT-Feld gespeichert wird. Das funktioniert auch bestens so, allerdings würde ich eigentlich lieber die Datumsfunktionen von MySQL nutzen, da ein Datum eigentlich nicht als Zahl in die Datenbank gehört...

    Falls jemand eine sinnvollere Lösung hat wäre ich dankbar.

    2 Mal editiert, zuletzt von lukasn (18. April 2012 um 19:29)

  • allerdings würde ich eigentlich lieber die Datumsfunktionen von MySQL nutzen.


    Kluger Gedanke!

    Code
    select date_format('spaltenname', '%w') as wochentag from tabelle


    Liefert dir den Wochentag von 0 bis 6, wobei 0 Sonntag ist. Jetzt musst du nur noch mit dem Array arbeiten und fertig.