Formater datoer i PHP

Konventer et eksisterende dato format til et andet.

For eksempel

2017-12-31 00:00:00 til 31. december 2017

PHP DateTime

$DateTimeObj = DateTime::createFromFormat('Y-m-d H:i:s', $dateString);
$newDateString = $DateTimeObj->format('j. F Y');

echo newDateString;

d : Tocifret dag, 01 – 31
j : Etcifret dag, 1 – 31
m : Tocifret måned, 01 – 12
F : Måned angivet med fulde navn, Januar – December.
Y : firecifret år, 1694

H : Tocifret timer, 00 – 23
i : Tocifret minutter, 00 – 59
s : Tocifret sekunder, 00 – 59

Se den komplette liste på php.net

Oversæt måned eller dag

Brug local, med DateTime og IntlDateFormatter

$dateTimeObj = new DateTime(‘2015-01-03 12:32:44’);
$dateFormatterObj = new IntlDateFormatter(‘da_DK’, IntlDateFormatter::SHORT, IntlDateFormatter::NONE);
$dateFormatterObj->setPattern(‘d. MMMM yyyy’);

echo $dateFormatterObj->format($dateTimeObj);

 

http://php.net/manual/en/intldateformatter.formatobject.php

https://stackoverflow.com/questions/8744952/formatting-datetime-object-respecting-localegetdefault

Format referencer IntlDateFormatter: http://userguide.icu-project.org/formatparse/datetime