Het vertalen van datums binnen PHP kan lastig zijn. Het probleem is dat de DateTime class en date() functie geen ondersteuning bieden voor meertaligheid. Hierdoor moet er gebruik worden gemaakt van alternatieve functies binnen PHP om de datum te kunnen vertalen naar het Nederland. In deze post laat ik drie methodes zien om datums te vertalen naar het Nederlands.

Vertalen met een array

Om af te trappen beginnen we met een de meeste simpele manier. Met het vervangen van de Engelse teksten naar het Nederland door middel van een array.

$months = [
    'January' => 'januari',
    'February' => 'februari',
    'March' => 'maart',
    'April' => 'april',
    'May' => 'mei',
    'June' => 'juni',
    'July' => 'juli',
    'August' => 'augustus',
    'September' => 'september',
    'October' => 'oktober',
    'November' => 'november',
    'December' => 'december'
];

$weekdays = [
    'Monday' => 'maandag',
    'Tuesday' => 'dinsdag',
    'Wednesday' => 'woensdag',
    'Thursday' => 'donderdag',
    'Friday' => 'vrijdag',
    'Saturday' => 'zaterdag',
    'Sunday' => 'zondag'
];
// Sunday 9 April 2017 17:40:09
$datetime = date('l j F Y H:i:s');
$datetime = str_replace(array_keys($months),   array_values($months),   $datetime);
$datetime = str_replace(array_keys($weekdays), array_values($weekdays), $datetime);
// zondag 9 april 2017 17:40:09
echo $datetime;

Vertalen met strftime()

Een andere manier om datums te vertalen is met de functie strftime. Deze methode is een van de meeste gebruikte, waarmee vertalen van datums mogelijk is.

setlocale(LC_ALL, "nl_NL");
// zondag 9 april 2017 17:40:09
echo strftime("%A %e %B %Y %T");

Datums vertalen met IntlDateFormatter()

Tot slot een alternatieve manier voor het vertalen van datums naar het Nederlands. In tegenstelling tot bovenstaande functie is het met IntlDateFormatter mogelijk om gebruik te maken van de DateTime class.

$fmt = new IntlDateFormatter(
    "nl_NL",
    IntlDateFormatter::FULL,
    IntlDateFormatter::MEDIUM,
    'Europe/Amsterdam',
    IntlDateFormatter::GREGORIAN
);

// zondag 9 april 2017 17:40:09
echo $fmt->format(new DateTime);

Mocht je meer PHP tips willen lezen dan heb ik een kleine verzameling van verschillende tips voor jullie. Klik op de onderstaande knop om deze te bekijken:

Vond je dit een leuk blog artikel dan is een reactie altijd welkom: Klik hier om een reactie achter te laten.

Abonneer je op dit blog d.m.v. e-mail

Meld je hieronder aan met jouw e-mailadres en ontvang als eerste een mailtje wanneer er een nieuw artikel online gaat op mijn blog.