Foros del Web » Programando para Internet » PHP »

fomatear fechas

Estas en el tema de fomatear fechas en el foro de PHP en Foros del Web. Hola Tengo problemas con las fechas porque en la BD las guarda con este formato aaaa/mm/dd y cuando las ingreso con otro formato las transforma ...
  #1 (permalink)  
Antiguo 25/11/2004, 17:44
 
Fecha de Ingreso: noviembre-2004
Mensajes: 16
Antigüedad: 13 años
Puntos: 0
fomatear fechas

Hola

Tengo problemas con las fechas porque en la BD las guarda con este formato aaaa/mm/dd y cuando las ingreso con otro formato las transforma a este produciendose un error.

Ejemplo

si ingrese a la base de datos la fecha (dd/mm/aa) 25/10/04 me la cambia a 2025/10/04, me gustaria saber como puedo darle el formato a la fecha recibida antes de guardarla en la base de datos para evitar este error, alguna funcion??

gracias.
  #2 (permalink)  
Antiguo 25/11/2004, 18:14
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Si la fecha es la misma que cuando se inserta el registro lo mejor es que uses la función mysql CURDATE()

insert into tabla (fecha) values (curdate());

En el caso de que la fecha venga dada por un cadena la puedes formatear con

$fecha="25/10/04";
list($dia,$mes,$anyo)=explode("/",$fecha);
$fecha="20".$anyo."/".$mes."/".$dia;
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 25/11/2004, 18:54
 
Fecha de Ingreso: noviembre-2004
Mensajes: 16
Antigüedad: 13 años
Puntos: 0
Muchas gracias !!
  #4 (permalink)  
Antiguo 25/11/2004, 20:37
 
Fecha de Ingreso: abril-2004
Mensajes: 3
Antigüedad: 13 años, 8 meses
Puntos: 0
Quiero imaginar que te refieres a una base de datos en MySQL, el valor que tiene por default es 0000-00-00, pero sin importar a que tipo de base te refieras, creo que algo como lo siguiente te puede servir, realmente no recuerdo ninguna función que lo haga automáticamente, pero si te urge tal vez te sea de mucha ayuda:

Código PHP:
<?PHP
$fecha_a_cambiar
="25/10/04";  //   "dd/mm/aa"   FORMATO ORIGINAL, PUEDE VENIR DE OTRA VARIABLE  

$nueva_fecha=CAMBIAR_FORMATO_FECHA($fecha_a_cambiar); //LLamamos a la funcion y el resultado es adquirido por la variable

FUNCTION CAMBIAR_FORMATO_FECHA($fc){
                  
$fecha[0] = $fc;                    
                    
$fecha['d'] = (substr ($fecha[0], 02));  //Extraemos los caractéres correspondientes al día
                    
$fecha['m'] = (substr ($fecha[0], 32));  //Extraemos los caractéres correspondientes al mes
                    
$fecha['a'] = (substr ($fecha[0], 62));  //Extraemos los caractéres correspondientes al año

                    
$form_fecha_pbdd=$fecha['a']."/".$fecha['m']."/".$fecha['d'];
                    return 
$form_fecha_pbdd;
}

echo 
"<i>FECHA FORMATO ORIGINAL</i> : $fecha_a_cambiar <br>";  //Muestro la fecha en el formato original
echo "<i>FECHA FORMATO REQUERIDO</i> : $nueva_fecha <br>";  //Muestro la fecha en nuevo formato
?>

Y del script actual el resultado que obtienes es el siguiente:

FECHA FORMATO ORIGINAL : 25/10/04
FECHA FORMATO REQUERIDO : 04/10/25
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:42.