Foros del Web » Programando para Internet » PHP »

Error al cambiar el formato de Fecha

Estas en el tema de Error al cambiar el formato de Fecha en el foro de PHP en Foros del Web. Hola a todos estoy mostrando fechas desde mi Base de datos y quiero cambiar el formato a d/m/Y (en mi base esta como yyy-mm-dd) tengo ...
  #1 (permalink)  
Antiguo 31/01/2013, 13:08
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.278
Antigüedad: 8 años, 7 meses
Puntos: 10
Error al cambiar el formato de Fecha

Hola a todos estoy mostrando fechas desde mi Base de datos y quiero cambiar el formato a d/m/Y (en mi base esta como yyy-mm-dd)
tengo lo siguiente
Código PHP:
<?php echo $row['fecha']; ?>
        <? if ( ! empty($row['fecha'])) {  
               
$timestamp strtotime($row['fecha']); 
      
$fecha date("d/m/Y"$timestamp); echo $fecha
            }

  
?>
Funciona bien... pero si en mi base tengo una fecha asi 0000-00-00 al cambiarle el formato me arroja 31/12/1969

¿Hay alguna manera para evitar este error?
de antemano gracias
  #2 (permalink)  
Antiguo 31/01/2013, 14:01
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 6 meses
Puntos: 1532
Respuesta: Error al cambiar el formato de Fecha

de debe a que no es una fecha válida y por lo tanto te toma el epoch de Unix

yo te recomiendo que hagas el cambio directo desde SQL, por ejemplo con:

SELECT DATE_FORMAT(capo_fecha, '%d-%m-%Y') as fecha

otra buena practica es crear VIEWs en mysql con el formato especifico para los campos de fecha y usarlas en lugar de las tablas al leer.

otra forma sencilla es crear una función en php donde valides si la fecha es 00/00/0000 y si no devolver la fecha en el formato
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 31/01/2013, 14:14
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 8 años, 9 meses
Puntos: 76
Respuesta: Error al cambiar el formato de Fecha

hola

y si pruebas

Código PHP:
Ver original
  1. $fecha = "2012-07-13";
  2. $objdate = new Datetime($fecha);
  3. $fechaformato = $objdate->format("d/m/Y");
  #4 (permalink)  
Antiguo 31/01/2013, 16:50
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.278
Antigüedad: 8 años, 7 meses
Puntos: 10
Respuesta: Error al cambiar el formato de Fecha

Gracias por responder pense en un if para validar pero aun me enredo basado en mi funcion no se como podria hacerla

Etiquetas: fecha, formato
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 14:08.