Data in Engels of Nederlands formaat

Zoals al aangegeven in het hoofdstuk over het uitlezen van de data uit de database, is het mogelijk om je data in een eigen formaat te zetten. Nu zijn er ook specifiers die de dag en maand als complete tekst weer kunnen geven.

Voorbeeld 20: Weergeven van de datum in het Engels.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT DATE_FORMAT(datumtijdveld, '%W %M %D %Y') AS datum
FROM tabel

Dit zal de datum weergeven als 'Tuesday July 10th 2007'. Natuurlijk kun je hier zelf nog mee spelen.

Voor het weergeven van de datum in het Nederlands, kun je proberen de local settings van de database te wijzigen. Deze setting is pas beschikbaar in versies 4.1.21, 5.0.25 en 5.1.12. Bij eerdere versies uit de 4.x, 5.0.x en 5.1.x series is dit dus geen optie. Kijk voor een alternatieve oplossing naar voorbeeld 22 of 23.

Voorbeeld 21: Weergeven van de datum in het Nederlands
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SET lc_time_names = 'nl_NL'

Deze query gebruik je om de locale settings te wijzigen. Vervolgens worden de namen van dagen en maanden met DATE_FORMAT() nu in het nederlands weergegeven.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT DATE_FORMAT(datumtijdveld, '%W %d %M %Y') AS datum
FROM tabel

De weergave zou nu als volgt moeten zijn: 'dinsdag 10 juli 2007'. (Voor meer informatie over deze optie, zie de MySQL handleiding.)

Mocht het op deze manier niet lukken, dan zul je iets meer moeten doen. Er zijn dan twee oplossingen over. In de eerste wordt wel gebruik gemaakt van wat PHP maar wellicht is deze beter te begrijpen dan de tweede.

Voorbeeld 22: Weergeven van de datum in het Nederlands met PHP.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
// Arrays gebruikt voor het weergeven van Nederlandse namen
$weekdagen = array('zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag');
$maanden = array('januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december');

// SQL query om benodigde gegevens uit de database te halen.
$sql = "
    SELECT
        DAYOFWEEK(datumveld) AS weekdag,
        MONTH(datumveld) AS maand,
        DAYOFMONTH(datumveld) AS dag
        YEAR(datumveld) AS jaar
    FROM
        tabel
    "
;

// Contorle of query gelukt is en eventueel foutafhandeling toepassen.
if(!$res = mysql_query($sql))
{

    trigger_error(mysql_errno().': '.mysql_error());
}

else
{
    // Fetchen van gegevens en combineren tot resultaat
    $row = mysql_fetch_assoc($res);
    $datum = $weekdagen[$row['weekdag']].' '.$row['dag'].' '.$maandag[$row['maand']].' '.$row['jaar'];
}

?>

Het formaat waarin de datum nu komt te staan is bijvoorbeeld: 'dinsdag 10 juli 2007'.

Maar het kan ook alleen met de database, en dat is eigenlijk waar deze hele tutorial wel om draait. Zo min mogelijk met PHP werken als het gaat om data en tijden.

Voorbeeld 23: Weergeven van de datum in het Nederlands met MySQL
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
SELECT CONCAT(
    ELT(DAYOFWEEK(datumveld), 'zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'),
    ' ',
    DAYOFMONTH(datumveld),
    ' ',
    ELT(MONTH(datumveld), 'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'),
    ' ',
    YEAR(datumveld)
) AS datum_NL
FROM tabel

In deze query maken we gebruik van ELT() om de functie van de array’s uit de PHP code te vervangen en CONCAT() om alles aan elkaar te plakken. Eigenlijk werkt het precies hetzelfde en bovendien is het een stuk korter.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Datum- en tijdtypes
  3. Invoegen van data en tijden
  4. Uitlezen van data en tijden
  5. Functies voor het weergeven van specifieke info
  6. Rekenen met data en tijden
  7. Data in Engels of Nederlands formaat
  8. Slotwoord en referenties

PHP tutorial opties

 
 

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.