Cambiar formato de fecha

Hola, tengo un formulario con un calendario para seleccionar una fecha que se guarda en un input con el siguiente formato, Ej: Junio 11, 2009. Ahora...

La FAQ Cambiar formato de fecha tiene

Pertenece a la categoría:

Pregunta
Hola, tengo un formulario con un calendario para seleccionar una fecha que se guarda en un input con el siguiente formato, Ej: Junio 11, 2009. Ahora cuando quiero guardar esta fecha en la BD debo hacerlo en el formato que acepta el MySQL en el tipo DATE ( Ej: 2009-06-11). Existe alguna función como date por ejemplo que le pueda pasar como parámetro la fecha seleccionada y que me la lleve al formato del MySQL???


Agradeceré cualquier sugerencia…


Saludos,



Respuesta de Ms
Hola
Te paso un par de funciones que encontré hace un tiempo y funcionan muy bien.

////////////////////////////////////////////////////
// Convierte fecha de mysql a normal
////////////////////////////////////////////////////
function cambiaf_a_normal($fecha){
ereg( "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $mifecha);
$lafecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1];
return $lafecha;
}

////////////////////////////////////////////////////
// Convierte fecha de normal a mysql
////////////////////////////////////////////////////

function cambiaf_a_mysql($fecha){
ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $mifecha);
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1];
return $lafecha;
}

Entiendo por "normal" la fecha en formato español: dd/mm/aaaa
Cambia en la función ereg() las "/" por lo que quieras, en ambas funciones.

Saludos

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios
Fueron enviados 2 comentarios a la faq
1 comentario no revisado
1 comentario revisado:

Cero_Co...
formato de fechas para mysql
02/7/09
Hola, bueno, yo conozco una forma de cambiar el formato de las fechas de:
Día/mes/año a año/mes/día, que es el formato que usa mysql.

No es específicamente lo que necesitas pero es muy útil y además es el script mas corto que existe para realizar esta tarea, solo en 1 línea.

Primero debes dejar que el usuario ingrese la fecha en el textfield con el formato
Día/mes/año, luego capturas el valor ingresado en la variable que pretendes insertar en la base de datos y antes de hacer la inserción la formateas con esta línea de código:

$FechaMySQL = implode( '-', array_reverse( explode( '/', $fecha_original ) ) ) ;

Luego simplemente insertas en la consulta SQL la variable $FechaMySQL y ya está, tu fecha ahora está en la BD con el formato AAAA/MM/DD

SALUDOS!

Volver al árbol de categoríasVolver al árbol de categorías
Alojados en el grupo