Style procédural :
echo date_format(date_create('17 Oct 2008'), 'c');
// Output : 2008-10-17T00:00:00+02:00
Style orienté objet :
$formatteddate = new DateTime('17 Oct 2008');
echo $datetime->format('c');
// Output : 2008-10-17T00:00:00+02:00
Hybride 1 :
echo date_format(new DateTime('17 Oct 2008'), 'c');
// Output : 2008-10-17T00:00:00+02:00
Hybride 2 :
echo date_create('17 Oct 2008')->format('c');
// Output : 2008-10-17T00:00:00+02:00
Notes :
1) Vous pouvez également utiliser 'Y-m-d\TH:i:sP'
comme alternative à 'c'
pour votre format.
2) Le fuseau horaire par défaut de votre entrée est le fuseau horaire de votre serveur. Si vous voulez que l'entrée soit pour un fuseau horaire différent, vous devez définir votre fuseau horaire explicitement. Cela aura également un impact sur votre sortie, cependant :
echo date_format(date_create('17 Oct 2008 +0800'), 'c');
// Output : 2008-10-17T00:00:00+08:00
3) Si vous voulez que la sortie soit pour un fuseau horaire différent de celui de votre entrée, vous pouvez définir votre fuseau horaire explicitement :
echo date_format(date_create('17 Oct 2008')->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2008-10-16T18:00:00-04:00