En MySQL el formato de las fechas para DATE viene asi «aaaa-mm-dd», lo cual nos resulta un poco raro al leerlo. Yo al menos lo prefiero asi «dd-mm-aaaa». Para ello podemos usar dos funciones una para que nos formatee la fecha de MySQL al formato que queremos y otra para cuando tengamos un formulario en el que introduzcamos una fecha, nos la convierta a MySQL.
Primero vamos a ver la que nos formatea el MySQL al formato que queramos:
function fecha_a_formateo ($fecha){
ereg( «([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})», $fecha, $format_fecha);
$fecha_formateada=$format_fecha[3].»-«.$format_fecha[2].»-«.$format_fecha[1];
return $fecha_formateada;
}
Con el array format_fecha podemos darle el formato que queramos a la fecha.
- $format_fecha[1]: Contiene el año
- $format_fecha[2]: Contiene el mes
- $format_fecha[3]:Contiene el dia
Ahora con la siguiente funcion hacemos lo contrario:
function fecha_a_mysql($fecha){
ereg( «([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})», $fecha, $format_fecha);
$fecha_mysql=$format_fecha[3].»-«.$format_fecha[2].»-«.$format_fecha[1];
return $fecha_mysql;
}
Otra funcion de bastante utilidad es una que nos diga el nombre del dia, Lunes, Martes, …
function ndia($fecha){
$fecha = strtotime($fecha);
switch (date(‘w’, $fecha)) {
case 0: $dia=»Domingo»; break;
case 1: $dia= «Lunes»; break;
case 2: $dia= «Martes»; break;
case 3: $dia=»Miercoles»; break;
case 4: $dia= «Jueves»; break;
case 5: $dia=»Viernes»; break;
case 6: $dia=»Sabado»; break;
}
return $dia;
}
Para pasarle la fecha tendria que ser en este formato, dd-mm-aaaa. «strtotime» para poner la fecha en formato timestamp, luego con la opcion «w» nos dice el numero del dia de la semana y con un switch averiaguamos el dia de la semana.
Deja un Comentario
Debes de estar logueado para comentar.