Vraagje m.b.t. php date funtie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Christiaan de kleine

christiaan de kleine

28/07/2013 14:51:38
Quote Anchor link
Waarschijnlijk een vraag waarop het antwoord vrij makkelijk is, maar het lukt me niet om hemgoed te krijgen:

Ik heb een datum opgeslagen als YYYY-MM-DD (date) format in de database.
Nu haal ik hem op met een query en wil ik omdraaien naar DD-MM-YYYY, maar dan nu de vraag:

Ik wil dat de maand zichtbaar is als mei,juni, augustus,november.

Alleen ik krijg het niet voor elkaar met onderstaande code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$timestamp = strtotime($Qbirth);
$Datum = date('d M Y', $timestamp);
 
PHP hulp

PHP hulp

22/12/2024 09:00:24
 
Jeroen VD

Jeroen VD

28/07/2013 14:55:41
Quote Anchor link
kijk hier eens naar: http://www.w3schools.com/sql/func_date_format.asp (jaja, het W3C is niet bepaald goed maar eer staat toch wel wat je wil weten)

de maand apart ophalen, en met een array omzetten naar het nederlands lijkte me het makkelijkste.
 
Wouter J

Wouter J

28/07/2013 15:07:45
Quote Anchor link
Allereerst is het waarschijnlijk beter dit te doen in mysql.

Als tweede is M een drieletterafkorting van de maand. Jij wilt F.

Als derde doe je dit door php in de juiste taal te zetten: setlocale
 
Christiaan de kleine

christiaan de kleine

28/07/2013 15:12:21
Quote Anchor link
met die set locale krijg ik hem niet naar nederlands, heb het nu met str_replace gedaan.
 
TJVB tvb

TJVB tvb

28/07/2013 15:17:27
Quote Anchor link
Christiaan, wat voor data type heeft het veld in de database?
Want met date_format kun je het in het gewenste formaat ophalen. Zie: http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_date-format
 
Christiaan de kleine

christiaan de kleine

28/07/2013 15:22:37
Quote Anchor link
het staat als date in de database, zoals eerder vermeld.
 
TJVB tvb

TJVB tvb

28/07/2013 15:23:36
Quote Anchor link
Christiaan de kleine op 28/07/2013 15:22:37:
het staat als date in de database, zoals eerder vermeld.

Daar had ik overheen gelezen :) Maar dan kun je dus met date_format gaan werken en hoef je het niet nog een keer in php aan te passen.
 
Christiaan de kleine

christiaan de kleine

28/07/2013 15:25:47
Quote Anchor link
kan ik die date format in mijn bestaande query drukken, zo ja hoe komt ie er dan uit tezien?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = mysql_query("SELECT * FROM `tbl` WHERE `naam` = '$naam' AND `voornaam` = '$vnaam'");
Gewijzigd op 28/07/2013 15:26:36 door christiaan de kleine
 
TJVB tvb

TJVB tvb

28/07/2013 15:30:01
Quote Anchor link
SELECT * wordt normaal gesproken afgeraden. En backticks zijn ook niet nodig (ze zijn een lapmiddel om fouten te verbergen, maar dat is een los staand verhaal)

Maar je query wordt dan iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$sql
= "SELECT
    *, //of beter de velden die je gebruikt
    DATE_FORMATE(datum_kolom, '%d-%m-%Y') AS format_date
FROM
    patienten
WHERE
    naam= '"
. $naam ."' AND
    voornaam = '"
. $vnaam . "'"
$result = mysql_query($sql);
?>
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

28/07/2013 18:04:20
Quote Anchor link
Als je het in MySQL wilt doen met Nederlandse namen, moet je daar eerst ook een 'locale' instellen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SET lc_time_names = 'nl_NL'

En dat in de query zelf:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT DATE_FORMAT(datum_kolom, '%d %M %Y') datum_kolom FROM ....
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.