Процедурный стиль:
echo date_format(date_create('17 Oct 2008'), 'c');
// Output : 2008-10-17T00:00:00+02:00
Объектно-ориентированный стиль:
$formatteddate = new DateTime('17 Oct 2008');
echo $datetime->format('c');
// Output : 2008-10-17T00:00:00+02:00
Гибрид 1:
echo date_format(new DateTime('17 Oct 2008'), 'c');
// Output : 2008-10-17T00:00:00+02:00
Гибрид 2:
echo date_create('17 Oct 2008')->format('c');
// Output : 2008-10-17T00:00:00+02:00
Примечания:
1) Вы также можете использовать 'Y-m-d\TH:i:sP'
в качестве альтернативы 'c'
для вашего формата.
2) Часовой пояс по умолчанию для вашего ввода - это часовой пояс вашего сервера. Если вы хотите, чтобы ввод осуществлялся для другого часового пояса, вам нужно явно указать свой часовой пояс. Однако это также повлияет на ваш вывод:
echo date_format(date_create('17 Oct 2008 +0800'), 'c');
// Output : 2008-10-17T00:00:00+08:00
3) Если вы хотите, чтобы выходные данные были для часового пояса, отличного от входного, вы можете явно указать свой часовой пояс:
echo date_format(date_create('17 Oct 2008')->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2008-10-16T18:00:00-04:00