strtotime no convierte correctamente

Iniciado por gAb1, 19 Mayo 2015, 01:44 AM

0 Miembros y 1 Visitante están viendo este tema.

gAb1

Hola buenas, estoy intentando pasar unas fechas a formato entero de unix con la función strtotime() pero devuelve dos horas menos; al solo ser fecha sin hora pues al convertir unix a un formato leible deberia verse 00:00:00, pero en lugar de eso aparece 22:00:00 y un dia menos.

Es para almacenar fechas de nacimiento en la db y prefiero que se almacenen en formato entero, por ejemplo mi fecha de nacimiento la introduzco en el campo:
04/04/1993 o 04-04-1993 (en este caso da igual, pero tendré que decidir si uso formato americano o europeo)
y strtotime devuelve:
Código (php) [Seleccionar]
print strtotime($client_info[3]);
//733874400 -> Sat, 03 Apr 1993 22:00:00 GMT

Para saber si se ha convertido bien uso una herramienta de conversion, por ejemplo onlineconversion y me encuentro con el problema. Sin embargo si trato de convertir mi fecha usando esta web me devuelve:
Citar733881600 -> Sun, 04 Apr 1993 00:00:00 GMT
Ese unix timestamp si que es correcto.

¿A alguien le ha pasado esto? ¿Como puedo solucionarlo?

Gracias!

Edito: no creo que sea por el filtrado...

Código (php) [Seleccionar]
$client_info = filter_input(INPUT_POST, 'client_info', FILTER_SANITIZE_STRING, FILTER_REQUIRE_ARRAY);

MinusFour

¿Has configurado la zona horaria de PHP? Al entregar la fecha se usa la zona horaria establecida y se realiza una conversion a UTC posteriormente.

http://php.net/manual/en/function.date-default-timezone-set.php