2
在這裏我嘗試將日期轉換爲不同格式的函數。php日期格式轉換問題
/* example:
* dateString = '03/25/2010';
* inputDateFormat = '%m/%d/%Y';
* ouputDateFormat = 'Y-m-d';
* return -> '2010-03-25';
*/
function formatDate($dateString,$inputFormat=NULL,$outputFormat=NULL){
if($dateString==''||$dateString==NULL) return '';
$t = strptime($dateString,$inputFormat);
return gmdate($outputFormat,mktime($t[tm_sec],$t[tm_min],$t[tm_hour],($t[tm_mon]+1),($t[tm_mday]+1),($t[tm_year]+1900)));
}
我的問題是
當我嘗試這個日期Wed, 19 Jan 2011 21:16:37 +0000
轉換爲2011-01-19 21:16:37
與以下行:
echo formatDate('Wed, 19 Jan 2011 21:16:37 +0000','%a, %d %b %Y %H:%M:%S','Y-m-d H:i:s');
的結果是這樣的:
2011-01-21 11:16:21
爲什麼我會有2天額外的日期。 你有什麼想法嗎?
它的工作原理謝謝:)但我需要指定輸入格式,過於你有什麼建議的呢? –
沒問題,作爲提醒,如果您的日期無效,您應該添加驗證。在PHP 5.1之前,strtotime返回-1,之後它返回FALSE。 –
當我給這樣的日期03/02/2011它不能理解哪一天是哪天,哪一天是月:) –