Hallo allemaal,

Ik heb een vraagje. Mijn selfmade cms'je maakt een nieuwsartikel aan, en slaat daarbij de datum&tijd op als "2007-02-22 13:25:15", als datetime dus. Met explode() kun je die 2 van mekaar scheiden op de eigenlijke nieuwspagina.

Maar echt mooi vind ik het niet staan. Ten eerste staat de datum niet in een logische volgorde (het hoort eigenlijk omgedraaid) en ten tweede mis ik de dag. Zoals "maandag 26 februari 2006". Dat moet eigenlijk de output zijn. Is er misschien een functie van php die kan uitrekenen welke dag dat is geweest? Dat zou me nog eens handig zijn!

alvast bedankt.

Robbert
ps. deze had eigenlijk in "PHP" moeten staan. Sorry!
Nee hoor, deze staat hier prima. Je kunt namelijk de datum opmaken op het moment dat je hem uit de database ophaalt. Dit doe je met de functie DATE_FORMAT() van mysql:

SELECT
    DATE_FORMAT(datum, '%d-%m-%Y') as formatted_date
FROM tabel

Om de datum in bijvoorbeeld dd-mm-yyyy formaat op te halen. Zie hoofdstuk 12.5 van de mysql handleiding voor alle andere opties die je hebt.
En is er ook een automatische vertaling? Zodat monday 'maandag' wordt, en october oktober? Of moet ik daar een if-loopje for gebruiken?
Dat zal dan iets worden als:

SELECT
    ELT(MONTH(datum), 'Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December') AS maand,
    ELT(DAYOFWEEK(datum), 'Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag') AS dag
FROM
    tabel

Natuurlijk kun je dit ook verwerken in een complete datum aanduiding met behulp van DATE_FORMAT of CONCAT.

Reageren