jueves, 12 de abril de 2012

Para las fechas, lo mejor es declararlas en la base de datos como datetime, luego a la hora de obtener los datos podemos hacerlo directamente, aunque aparecería con fecha y hora. Una alternativa a esto puede ser obtenerla de la base de datos con el strtotime(), que nos devuelve el timestamp con el cual podemos formatear con la función date(). No preocuparnos con el formato de la función strtotime() que el de la base de datos funciona.
Para guardarlo en la base de datos desde el selector de fecha en javascript form->select_date() le hacemos un explota, que es una función que pasa de 12/04/2012 a 2012-04-12 que es como se guarda en la BD.

Es lógico que si queremos obtener el timestamp del select_date() lo podemos hacer con strtotime antes haciendole un explota.

Aquí dejo la función explota para quien le interese:

function explota($fecha) // local2bd desde lap·gina hast ala base de datos
{
    $vector_fecha = explode("/",$fecha);
    $aux = $vector_fecha[2];
    $vector_fecha[2] = $vector_fecha[0];
    $vector_fecha[0] = $aux;
    return implode("-",$vector_fecha);
}

Y una función implota que hace lo contrario de explota

function implota($fecha) // bd2local desde la base de datos hasta la p·gina
{
    if (($fecha == "") || ($fecha == "0000-00-00"))
        return "";
    $vector_fecha = explode("-",$fecha);
    $aux = $vector_fecha[2];
    $vector_fecha[2] = $vector_fecha[0];
    $vector_fecha[0] = $aux;
    return implode("/",$vector_fecha);
}



Un saludo.

1 comentario:

  1. Hola gracias por el aporte yo estoy en búsqueda de actualizar ese código ya que la función explota la tengo en una aplicación que descargue, la cual me da error, aun que puedo hacerlo de otra forma, tengo interés de saber si hay una versión actualizada de esta misma. mi interese es porque quiero preservar el código tal como lo construyeron solo que actualizado.

    ResponderEliminar