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.
Bueno voy a empezar un proyecto para modificar Dolibarr por completo. Voy a adaptarlo para una asociación, así que aquí iré poniendo a partir de ahora asuntos sobre modificaciones de Dolibarr.
Un saludo