2014-09-18 9 views
0

У меня есть дата:Формат даты - без времени?

30/12/2010 

я использую:

DateTime::createFromFormat('d/m/Y', $input['date']); 

Но это выходы:

2010-12-30 21:15:37 

Как я могу выход только дата и не время?

+1

Так как же вы на самом деле его выводите? потому что 'DateTime :: createFromFormat ('d/m/Y', $ input ['date']);' не генерирует никакого вывода –

+0

['createFromFormat'] (http://php.net/manual/en/ datetime.createfromformat.php) возвращает объект '' DateTime' (http://php.net/manual/en/class.datetime.php). Используйте метод '' format() '] (http://php.net/manual/en/datetime.format.php), чтобы форматировать вывод по своему вкусу. –

ответ

2

Фактически, ваше решение находится в вашем вопросе. Метод createFromFormat возвращает нам объект DateTime. Вы можете использовать его для печати форматированного времени.

$date = DateTime::createFromFormat('d/m/Y', $input['date']); 
echo $date->format("Y-m-d"); 
+0

Спасибо за отзыв @MarkBaker Вы правы. Я изменил это. – hkulekci

+0

Могу ли я сделать date-> формат без первой строки? – panthro

+0

Нет. Поскольку я предполагаю, ваш переменный контент $ input ['date'] не является объектом DateTime, это только строка. Для использования метода формата существует объект DateTime. – hkulekci

0

Я ожидаю, что 21:15:37 будет текущее время. Вам не нужно отображать время, или вы можете его сбросить - например, до 00:00:00, если хотите.

// public DateTime DateTime::setTime (int $hour , int $minute [, int $second = 0 ]) 
$date = DateTime::createFromFormat('d/m/Y', $input['date']); 
$date->setTime(0, 0, 0); 
echo $date->format("Y-m-d"); // or other format 
+0

Я бы предпочел не отображать его, как я могу это сделать? – panthro

Смежные вопросы