ProInf.net

Convertir una fecha introducida por el usuario a formato SQL

Francisco 06-02-11
Icono de una fecha en un calendario

El usuario puede introducir un campo de fecha de un formulario web de muchas formas distintas. La siguiente función PHP convierte la fecha introducida de cualquier manera al formato de fecha de MySQL

Código de la función PHP

  function fechaSQL($texto) { // "d/m/a" --> "aaaa-mm-dd"
$delimitadores = str_split(' -_/\\.');
$lista = explode('-',str_replace($delimitadores,'-',trim($texto)));
if (count($lista)>=3) {
$ano = '19'.$lista[2]; $ano = substr($ano,strlen($ano)-4);
$mes = '00'.$lista[1]; $mes = substr($mes,strlen($mes)-2);
$dia = '00'.$lista[0]; $dia = substr($dia,strlen($dia)-2);
return "$ano-$mes-$dia";
}
return $texto;
}

Ejemplos de uso

  header('Content-type: text/plain');
echo fechaSQL('1/5/73')."\n";
echo fechaSQL('01.05.73')."\n";
echo fechaSQL(' 1 5 73 ')."\n";
echo fechaSQL(' 1-5 73 ')."\n";
echo fechaSQL(' 01-5 73 ')."\n";
echo fechaSQL('1.5.73. ')."\n";
echo fechaSQL('1-5/73. ')."\n";

En todos los casos el resultado es: "1973-05-01"

Compartir



Un comentario:

1 → haydee (no registrado) dice hace 3 años:

Me gusta mucho su pagina ya que es sencilla, atractiva y organizada. Los diferentes temas discutidos son de mi preferencia.

Añade tu comentario:

(El correo no será publicado)
 

Artículos relacionados:

Ir arriba