Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: tomasvreal28 en 8 Diciembre 2015, 03:12 am



Título: Mostar campo Fecha Vacio
Publicado por: tomasvreal28 en 8 Diciembre 2015, 03:12 am
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
  1. <?php
  2. date_default_timezone_set('America/Lima');  
  3.  
  4. $calendario_meses = array(
  5.    'January'=>'Enero',
  6.    'Febuary'=>'Febrero',
  7.    'March'=>'Marzo',
  8.    'April'=>'Abril',
  9.    'May'=>'Mayo',
  10.    'June'=>'Junio',
  11.    'July'=>'Julio',
  12.    'August'=>'Agosto',
  13.    'September'=>'Septiembre',
  14.    'October'=>'Octubre',
  15.    'November'=>'Noviembre',
  16.    'December'=>'Diciembre'
  17. );  
  18.  
  19. $data = explode('-', $res['icr_fecha_revision2']);  
  20. $fecha = date('F \d\e\l Y', strtotime($data[0] . '-' . $data[1]));
  21. $fecha = strtr($fecha, $calendario_meses);
  22.  
  23. echo $fecha;  
  24. ?>
  25.  


Título: Re: Mostar campo Fecha Vacio
Publicado por: eLank0 en 8 Diciembre 2015, 07:57 am
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
  1. if (isset($var))

Código
  1. if (var !== undefined)

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

Salu2


Título: Re: Mostar campo Fecha Vacio
Publicado por: WHK en 10 Diciembre 2015, 18:03 pm
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.

Código:
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;
    }