Linwind

Convertir fechas en PHP entre MySQL y español

Aunque es muy sencillo siempre que tenemos que pasar fechas de español a MySQL y a la inversa tenemos que pensarlo unos segundos, hay determinadas formas de conseguirlo de forma rápida y sencilla como las que le voy a comentar a continuación.

La mejor forma de realizar una conversión entre la fecha que nos devuelve MySQL a nuestro idioma el español es utilizando DATE_FORMAT de MySQL , podemos encontrar mucha más información referente a la forma de trabajar con fechas en Dev MySQL. A continuación os pongo una consulta que nos devolvería la fecha con el formato día/mes/año aunque podríamos indicarle que nos la devolviera como a nosotros nos interese.

mysql_query("SELECT DATE_FORMAT(campo_fecha,'%d/%m/%Y') FROM tabla", $conexion);
// El resultado será devuelto con el formato día/mes/año
// Otros ejemplos
// DATE_FORMAT(campo_fecha,'%d de %m de %Y')

Si lo que queremos realizar es lo contrario, por poner un ejemplo recoger la fecha de nacimiento de alguien de un formulario e introducirla en nuestra base de datos podremos realizarlo de la siguiente manera:

En caso de que la fecha tenga el formato día/mes/año

function cambiarfecha_mysql($fecha){
    list($dia,$mes,$ano)=explode("/",$fecha);
    $fecha="$ano-$mes-$dia";
    return $fecha
}

En caso de que la fecha tenga el formato día de mes de año

function cambiarfecha_mysql($fecha){
    list($dia,$mes,$ano)=explode(" de ",$fecha);
    $fecha="$ano-$mes-$dia";
    return $fecha
}

Publicado el 29 de noviembre, 2011

Cursos de PHP y MySQL gratis
Publicado el 19 Feb 2010

Beta de MySQL 5.5
Publicado el 15 Abr 2010

Cambiar formato de vídeo, audio, imagen, documentos … online
Publicado el 05 Jul 2010

[Humor] Si las marcas se escribieran en español
Publicado el 01 Abr 2010

3 Comentarios

  1. ulysess dice:

    Mi método para convertir de una cadena a formato fecha en MySQL es la siguiente:

    DATE_FORMAT(STR_TO_DATE(‘».$_REQUEST[«fechallamada»].»‘, ‘%m/%d/%Y’), ‘%Y-%m-%d’)

  2. Marko dice:

    No me sale, sale por defecto las fechas en ingles, y yo quiero en español.
    http://www.americageo.com

  3. PABLO dice:

    EXCELENTE LA EXPLICACIÓN, MUY FÁCIL DE ENTENDER MUCHAS GRACIAS POR EL APORTE

Dejar un comentario


Actualidad Windows Linux Juegos Redes Sociales Utilidades Telefonía Movil Micropost