Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Convertir fechas entre MySQL y castellano, en PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Convertir fechas entre MySQL y castellano, en PHP

Las fechas son uno de esos típicos asuntos que pueden hacer que nos rompamos la cabeza a la hora de programar una página. Razón de ello es que tienen distintos formatos dependiendo del país, del lenguaje de programación o de la base de datos que estemos utilizando.

Cuando utilizamos la tecnología PHP solemos trabajar con la base de datos MySQL. En estos dos sistemas los formatos de fechas cambian sensiblemente, así que ser? muy interesante conocer una manera rápida de pasar de un formato de fecha a otro, dependiendo de dónde vamos a utilizar esa fecha. Pues, si trabajamos con MySQL deberemos expresar la fecha de una manera distinta a la que lo haríamos a la hora de mostrarla en la página para que la entienda f?cilmente un lector hispano.

En muchos casos, debemos vérnoslas entre dos tipos de formatos distintos, aunque podr?a ser peor. Por ejemplo, si la página estuviese en varios idiomas, ser?a importante escribir correctamente las fechas en cada uno de los idiomas.

Dejando temas relacionados con el idioma aparte -concentr?ndonos tan sólo en el Espa?ol-, en nuestras páginas programadas en PHP y con base de datos MySQL, tendremos que trabajar con dos formatos. Por un lado tenemos las fechas en castellano, que tienen el formato dd/mm/aaaa y por otro lado tenemos el formato de MySQL, que tiene la sintaxis aaaa-mm-dd.

Lo m?s cómodo, tal como vemos nosotros este problema, es crear un par de funciones que conviertan las fechas de un formato a otro. Habrá una función que convertir? la fecha de MySQL a Castellano y otra que lo convierta de Castellano a MySQL


<?
//////////////////////////////////////////////////// 
//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 ; 


?>

Las funciones utilizan expresiones regulares que no hemos visto todav?a, as? que no vamos a tratar de explicar cómo funcionan, sino que explicaremos cómo utilizarlas.

Mostrar en la página una fecha en castellano

Si tenemos una fecha en formato MySQL y deseamos colocarla en una página haremos algo como sigue.

Suponemos que la fecha está extray?ndose a través de una consulta a la base de datos y la tenemos en una variable llamada $fila->fecha. Adem?s, colocamos la fecha en un campo de formulario.


  <input type="text" name="fecha" value=" <? echo  cambiaf_a_normal ( $fila -> fecha ); ?> "> 

Colocar en la base de datos una fecha en formato MySQL

Cuando el usuario nos manda una fecha, por ejemplo, a través de un formulario con un campo como el que acabamos de ver, l?gicamente, escribirá la fecha en castellano. Pero nosotros deseamos guardarla en una base de datos en un formato distinto, as? que habremos de convertirla.

Suponemos que tenemos la fecha en una variable llamada $fecha y que está en formato castellano. Adem?s, queremos colocarla en una sentencia SQL que deseamos ejecutar en la base de datos para insertar un registro que contiene, entre otros datos, la fecha que el usuario ha escrito.


<?
mysql_query  ( "insert into documento (titulo_documento, fecha_documento, cuerpo_documento) 
values ('$titulo_documento', '"  .  cambiaf_a_mysql ( $fecha ) .  "', '$cuerpo_documento')" ); 
?>


Autor: blasten.com
http://www.blasten.com/contenidos/?id=Convertir_fechas_entre_MySQL_y_castellano,_en_PHP

Usuarios que han visto este tema también han visto...

- Mostrar imagenes aleatorias en PHP de forma sencilla
- Invitar a un amigo en PHP
- Evitar que las imagenes deformen tu web
- Constantes en PHP
- Funciones de acceso a archivos en PHP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad
Congreso de Internet

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 10-09-2010 a las 15:51:01