yo lo hago asi
tegno una fecha para desplegar en pantalla y otroa con el formato de la base de datos, es bastante "artesanal" pero funciona
// para insertar en la BD, en un campo de
// tipo DATE (en caso que necesites insertar
// en un tipo TIMEDATE, revisa el formato
// con que lo guarda, en la ayuda del MYSQL
// sale)
$fecha = date(Y)."-".date(m)."-".date(d);
// esta fecha la uso para mostrar en
// pantalla, pues las fechas se guardan en
// formato gringo, o sea al vèrre
//

, como 2002-12-30, aqui lo doy
// vuelta simplemente.
$fechaformat = date(d)."-".date(m)."-".date(Y);
// la funcion date(), sale en la lista de
// funcioes de php, lo pueden encontrar en
// la pagina oficial, dependiendo de lo que
// pongas dentro de la funcion es lo que te
// regresara, por ejemplo si poner date(m)
// te regresara el mes en numero, en cambio
// si pones date(M) devolvera el mes pero en
// tres letras y en ingles(ex: JAN)
eso , espero te sirva , buena suerte