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 天。 你有什么想法吗?
Here my function that i try to trasform dates into different formats.
/* 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)));
}
My problem is
when i try to convert this date Wed, 19 Jan 2011 21:16:37 +0000
into 2011-01-19 21:16:37
with the following line:
echo formatDate('Wed, 19 Jan 2011 21:16:37 +0000','%a, %d %b %Y %H:%M:%S','Y-m-d H:i:s');
the result is this:
2011-01-21 11:16:21
why i'm getting the date with 2 days extra.
Do you have any idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用这个代替:
use this instead:
这是一个疯狂的猜测,但也许你需要设置你的时区?
date_default_timezone_set()(需要 PHP 5)
This is a wild guess, but maybe you need to set yoru time zone?
date_default_timezone_set() (requires PHP 5)