Mostar campo Fecha Vacio

Iniciado por tomasvreal28, 8 Diciembre 2015, 03:12 AM

0 Miembros y 1 Visitante están viendo este tema.

tomasvreal28

Hola tengo un campo que en ocasiones esta vacio

este me devuelve con fecha de diciembre del 1969
cuando debería aparecerme en blanco como puedo hacer que solo aparezca los que tienen fechas y los que están con campos vacíos en blanco

Código (php) [Seleccionar]

<?php
date_default_timezone_set
('America/Lima');  
  
$calendario_meses = array( 
    
'January'=>'Enero'
    
'Febuary'=>'Febrero'
    
'March'=>'Marzo'
    
'April'=>'Abril'
    
'May'=>'Mayo'
    
'June'=>'Junio'
    
'July'=>'Julio'
    
'August'=>'Agosto'
    
'September'=>'Septiembre'
    
'October'=>'Octubre'
    
'November'=>'Noviembre'
    
'December'=>'Diciembre' 
);  
  
$data explode('-'$res['icr_fecha_revision2']);  
$fecha date('F \d\e\l Y'strtotime($data[0] . '-' $data[1])); 
$fecha strtr($fecha$calendario_meses); 
  
echo 
$fecha;  
?>


eLank0

Hay una incongruencia en tu mensaje. Un campo vacío y que devuelve un valor de 'diciembre del 1969'. O lo explicas mejor o no se entiende nada...

En cualquier caso, valida tus variables:

Código (php) [Seleccionar]
if (isset($var))

Código (javascript) [Seleccionar]
if (var !== undefined)

Y en cada lenguaje lo validas respecto a su NULL, en .NET Nothing, etc..

Salu2

WHK

#2
Mira, hace muchos años hice un framework en php y estas son dos funciones que validan fechas, talves te puedan servir para que hagas tu propio código y puedas decir que si la fecha es inválida entonces el valor es vacio, en caso contrario muestra la fecha formateada a conveniencia.

Saludos.


function isDate($buff = null) {
       if ($buff === null)
           $buff = $this->data;

       if (!$buff = (string) $buff)
           return false;

       /* YYYY-MM-DD Standard ISO 8601 http://en.wikipedia.org/wiki/ISO_8601 */
       if (!preg_match('/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/', $buff))
           return false;

       $date = date('Y-m-d', strtotime($buff));
       if (substr($date, 0, 5) == '1970-')
           return false;
       return $date;
   }

   function isDateTime($buff = null) {
       if ($buff === null)
           $buff = $this->data;

       if (!$buff = (string) $buff)
           return false;

       /* YYYY-MM-DD HH:MM:SS Standard ISO 8601 http://en.wikipedia.org/wiki/ISO_8601 */
       if (!preg_match('/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) ([01][0-9]|2[0-4]):[0-5][0-9]:[0-5][0-9]$/', $buff))
           return false;

       $date = date('Y-m-d H:i:s', strtotime($buff));
       if (substr($date, 0, 5) == '1970-')
           return false;
       return $date;
   }