Use
H
em vez de:$test = 'Fri, 15 Jan 2016 15:14:10 +0800';
$t = date('Y-m-d H:i:s',strtotime($test));
echo $t;
G deve ser o mesmo, mas sem zeros à esquerda. Eu suspeito que seu PHP está definido para um fuso horário diferente de
+0800
. Você pode confirmar seu fuso horário (date_default_timezone_get()
)? EDITAR
O OP confirmou que seu fuso horário foi definido como UTC, nesse caso, mascara perfeitamente o fato de mostrar 7 da manhã, como
date
usa o fuso horário padrão do PHP. Se você deseja "herdar" o fuso horário, obtendo mais flexibilidade, deve mudar para
DateTime
:echo (new DateTime($test))->format("Y-m-d H:i:s");