我有一个这种格式的日期Fri, 15 Jan 2016 15:14:10 +0800
,我想这样显示时间2016-01-15 15:14:10
。
我试过的是:
$test = 'Fri, 15 Jan 2016 15:14:10 +0800';
$t = date('Y-m-d G:i:s',strtotime($test));
echo $t;
但是它以以下格式显示日期:2016-01-15 7:14:10
应该为2016-01-15 15:14:10
。
我怎样才能做到这一点?
H
改为使用:
$test = 'Fri, 15 Jan 2016 15:14:10 +0800';
$t = date('Y-m-d H:i:s',strtotime($test));
echo $t;
H:小时的24小时格式,前导零为00到23
G应该是相同的,但是没有前导零。我怀疑您的PHP设置为与时区不同的时区+0800
。您可以确认时区(date_default_timezone_get()
)吗?
OP确认他的时区设置为UTC,在这种情况下,它完全掩盖了早上显示7,因为date
它使用了PHP的默认时区。
如果要“继承”时区,同时获得更大的灵活性,则应切换到DateTime
:
echo (new DateTime($test))->format("Y-m-d H:i:s");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句