如何在PHP中將Y-m-d H:i:s轉換爲Y-m-d?如何在PHP中將Y-m-d H:i:s轉換爲Y-m-d?
我有例如
$date = "2011-08-10 20:40:12";
,並想將它轉化成剛
$output = "2011-08-10";
在此先感謝。
如何在PHP中將Y-m-d H:i:s轉換爲Y-m-d?如何在PHP中將Y-m-d H:i:s轉換爲Y-m-d?
我有例如
$date = "2011-08-10 20:40:12";
,並想將它轉化成剛
$output = "2011-08-10";
在此先感謝。
使用strtotime()
可以輕鬆完成,並且可以更改爲您可能需要的任何其他日期格式。
$old_date = "2011-08-10 20:40:12";
$new_date = date("Y-m-d", strtotime($old_date));
echo $new_date;
// Prints 2011-08-10
$date = date("Y-m-d", strtotime($date));
僅僅只使用日期格式的日期和您的字符串轉換爲一個時間戳。
好了,一個簡單的方法來做到這將是以下(如果你已經得到了一個字符串日期):
$output = substr($date, 0, 10);
這將意味着你搶前10個字符的「2011 -08-10 20:40:12「,給你留下」2011-08-10「!
快速/骯髒:
$output = substr('2011-08-10 20:40:12', 0, 10);
稍微更穩健:
$output = date('Y-m-d', strtotime('2011-08-10 20:40:12'));
相當可靠:
$output = DateTime::createFromFormat('Y-m-d h:i:s', '2011-08-10-20:40:12')->format('Y-m-d');
另一種解決方案,認爲不如是簡單地做一個字符串:
$newDate = substr($date, 0, 10)
該死的你們很快!這個已經發布了 – demius
很高興看到我不是唯一一個認爲這個「簡單」的人! :-) – ninetwozero
您可以使用內置的PHP的日期格式功能:
http://php.net/manual/en/datetime.format.php
做到這一點:
$date = date_format($date, 'Y-m-d');
我喜歡strftime
最新,因爲它的格式輸入相匹配那些C等語言。
$output = strftime('%Y-%m-%d', strtotime($date));
嘗試:
$date = explode(" ",$date);
$output = $date[0];
如果它們之間用空格分隔,可以使用爆炸將它們分開。
它給出錯誤不能轉換數組中的字符串偏移量。 –
一個調整的方法使用爆炸,從而可以把它變成一個襯裏:
列表($日期)=爆炸(」」,$日期);
列表函數對於日期非常方便。
使用列表又如:
列表($年,$月份,$日)=爆炸(」」,$日期);
此外,你最好使用「,而不是 」字符串,除非你的字符串包含變量。
如
我厭倦了看到甚至PHP文檔使用」字符串「的例子中,他們應該使用'字符串':o)
$old_date = "2011-08-10 20:40:12";
$new_date = date("Y-m-d", strtotime($old_date));
echo $new_date;
// Prints 2011-08-10
這應該是非常有用的。
在PHP 5.5.4的第三種情況下:致命錯誤:找不到類'Date',但是DateTime :: createFromFormat()起作用。 –
啊是的。接得好。謝謝。修復了答案。 –