2014-09-18 168 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']);'不會生成任何輸出 – 2014-09-18 21:31:19

+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)方法將輸出格式化爲您喜歡的格式。 – 2014-09-18 21:42:57

回答

2

事實上,你的解決方案是在你的問題。 createFromFormat方法返回給我們一個DateTime對象。您可以使用它來打印格式化的日期時間。

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

謝謝您的反饋意見@MarkBaker您是對的。我改變了它。 – hkulekci 2014-09-18 21:40:40

+0

我可以做沒有第一行的日期 - >格式? – panthro 2014-09-18 21:40:45

+0

不,因爲我想,你的$ input ['date']變量內容不是DateTime對象,它只是字符串。有一個DateTime對象使用格式化方法。 – hkulekci 2014-09-18 21:43:02

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 2014-09-18 21:37:46