steve: Tag aus Datumsangabe ausrechnen

Hallo,

wenn ich z.B. eine MySQL Tabelle mit Datum und Terminspalte habe,
wie kann ich dann automatisch bei der Ausgabe aus dem Datum den Wochentag ausrechnen bzw. anzeigen lassen?

z.B. meinen Tabelle
12.04.2002 - Termin1
15.06.2002 - Termin2
01.10.2002 - Termin3

Die Augabe sollte dann so aussehen:

Wochentag, der 14.05.2002: Termin1
Wochentag, der 15.06.2002 : Termin2
Wochentag, der 01.10.2002 : Termin3

Wäre nett, wenn mir jemand ne Idee für Lösung über PHP hätte.

Gruß,
Steve

  1. Hallo,

    wenn ich z.B. eine MySQL Tabelle mit Datum und Terminspalte habe,
    wie kann ich dann automatisch bei der Ausgabe aus dem Datum den Wochentag ausrechnen bzw. anzeigen lassen?

    z.B. meinen Tabelle
    12.04.2002 - Termin1
    15.06.2002 - Termin2
    01.10.2002 - Termin3

    Die Augabe sollte dann so aussehen:

    Wochentag, der 14.05.2002: Termin1
    Wochentag, der 15.06.2002 : Termin2
    Wochentag, der 01.10.2002 : Termin3

    Mit mktime() den Zeitstempel holen und dann ein Datum draus basteln, allerdings kommst Du um einen replace für die Wochentagsnamen nicht herum, da Du sicherlich deutsche Wochentage haben willst.

    1. Mit mktime() den Zeitstempel holen und dann ein Datum draus basteln, allerdings kommst Du um einen replace für die Wochentagsnamen nicht herum, da Du sicherlich deutsche Wochentage haben willst.

      zB: date ("w", mktime(0,0,0,6,15,2002));

  2. Hi,

    Wäre nett, wenn mir jemand ne Idee für Lösung über PHP hätte.

    warum nicht direkt in MySQL, wo der Wert noch als Datum anstatt als String vorliegt?

    Doku unter http://www.mysql.com/, Kapitel 6.3.4, "Date and Time Functions".

    Cheatah

    1. Hi,

      Wäre nett, wenn mir jemand ne Idee für Lösung über PHP hätte.

      warum nicht direkt in MySQL, wo der Wert noch als Datum anstatt als String vorliegt?

      Doku unter http://www.mysql.com/, Kapitel 6.3.4, "Date and Time Functions".

      Cheatah

      Oder so ^^ wenn mans einfach haben will! :D

      1. Hi,

        Oder so ^^ wenn mans einfach haben will! :D

        okay, okay, Du hast ja recht... Warum einfach, wenn's auch kompliziert geht? ;-)

        Cheatah

    2. » warum nicht direkt in MySQL, wo der Wert noch als Datum anstatt als String vorliegt?

      Das Problem ist, das die Tabelle mit einem CSV-Import bzw. über Exel gefüllt wird, der CSV-File:
      Tag;Monat;Jahr;Dienst
      1;5;2002;Dr. XVX
      2;5;2002;11
      3;5;2002;Dr. VVX
      4;5;2002;7

      Kannich also vor der Ausgabe aus der Tabelle in die Anzeigedatei die Felder Tag, Monat, Jahr über PHP so modifieren, das so etwas herauskommt: Montag, der 01.Mai.2002: Dr. XVX.

      Oder habe ich da was nicht verstanden?
      Kenn mich da nicht so gut aus.
      Danke nochmal im Vorraus ...

      1. Hi,

        Das Problem ist, das die Tabelle mit einem CSV-Import bzw. über Exel gefüllt wird,

        nein: das Problem ist das DB-Layout, weil ein Datumsfeld nicht als Datumstyp deklariert wurde. _Wie_ die Daten am Ende in die Tabelle kommen, ist unerheblich bzw. eine Sache der richtigen Konvertierung.

        Kannich also vor der Ausgabe aus der Tabelle in die Anzeigedatei die Felder Tag, Monat, Jahr über PHP so modifieren,

        Kapitel 6.3.5 der Doku hast Du auch entdeckt? Ich würde die Aufgabe echt der Datenbank überlassen - und zwar bereits _bevor_ die Daten hineingeschrieben werden. Wenn Du ein Datum brauchst, darfst Du keinen String oder Integers speichern.

        Cheatah