![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
20/10/2008, 13:12
|
| | Fecha de Ingreso: septiembre-2006
Mensajes: 3
Antigüedad: 18 años, 5 meses Puntos: 0 | |
Respuesta: Tengo problemas con fecha DATETIME Cita:
Iniciado por HackmanC Hola,
El inconveniente con strtotime() en este caso, es que espera una fecha en formato inglés americano de entrada, mes - día - año; o su equivalente en varios formatos. '30/11/1970' invariablemente va a ser '1970-01-01 01:00:00', puesto que strtotime() devolvió un índice de error -1.
Las fechas en MySQL deben ser Y-m-d (o en su defecto Ymd). SQL Server también puede interpretar 'Ymd'. Suponiendo que la fecha que recibes en el post, tiene formato 'britanico', y está separada por diagonales. (No tomando en cuenta el time del datetime, el cual va a ser 00:00:00) : Código PHP: <?php
$fecha = '30/11/1970';
$fechb = explode('/', $fecha);
if(checkdate($fechb[1], $fechb[0], $fechb[2])) {
echo sprintf(
"INSERT INTO tabla (id, fecha) VALUES (1, %s);",
date('Ymd', mktime(0, 0, 0, $fechb[1], $fechb[0], $fechb[2])));
echo "\n"; #<-- no es parte de la instrucción sql.
} else {
echo "Formato Incorrecto.\n";
}
?> Saludos,
ps:
No es la única forma de crear la instrucción SQL, ni la mejor ... pero funciona de acuerdo a cualquier i18n que tengas en el servidor; una vez la fecha de entrada recibida en el post, tenga el formato adecuado (d/m/a).
Gracias Gracias Gracias y Gracias FUNCIONA A LA PERFECCION |