php日期格式转换问题

Yun*_*zel 2 php format date

在这里,我尝试将日期转换为不同的格式.

/*  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)));
}
Run Code Online (Sandbox Code Playgroud)

我的问题是

当我尝试将此日期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');
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

2011-01-21 11:16:21
Run Code Online (Sandbox Code Playgroud)

为什么我要额外2天获得约会.你有什么主意吗?

Boo*_*eus 5

改用它:

  function formatDate($dateString, $outputFormat=NULL){
      return date($outputFormat, strtotime($dateString));
  }

  echo formatDate('Wed, 19 Jan 2011 21:16:37 +0000','Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)