Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/10/2008, 13:12
edumarbella
 
Fecha de Ingreso: septiembre-2006
Mensajes: 3
Antigüedad: 18 años, 5 meses
Puntos: 0
Sonrisa Respuesta: Tengo problemas con fecha DATETIME

Cita:
Iniciado por HackmanC Ver Mensaje
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(000$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