Nueva pregunta

Pregunta:

Fecha: 21-05-2019 13:14:52 (En Español)

buenas tengo una fecha inicial y una fecha final y quiero ver cuantos dias faltan para cada uno de los registros[Resuelta]

estas son las filas que tengo y deseo agregar otra donde pueda ver cuantos dias hay entre una y otra... y siempre me resulta un error.... me pueden ayudar por favor

<tr>
<td style="font-size: 24px"><?php echo $mostrar['fecha_ingreso'] ?></td>
<td style="color:#088A08; font-size: 24px"><?php echo $mostrar['fecha_entrega'] ?></td>
Etiquetas: AJAX - Back-end - Base de Datos - Bootstrap - Desarrollo - Empezar a programar - Formulario - HTML - HTML5 - Javascript - MySQL - PHP - PHP Avanzado - PHP JSON - PHP MySQLi - Pregunta - Script PHP Votos: 0 - Respuestas: 6 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 21-05-2019 14:49:46 Saludos...
    Esto te ayudara: (Depende de ti hacerla funcion)
    $fecha1 = new DateTime("2019-05-21");
    $fecha2 = new DateTime("2019-11-26");
    $diff = $fecha1->diff($fecha2);
    echo $diff->days . '  dias ';


    Nota:
    Siento que algo tan basico es mejor que busques primero en la red, lo puse pues tengo mucho trabajo pero los 5 minutos para cualquier otra cosa, jajaja, no se te olvide poner resuelta la pregunta...

    Saludos...

    Stryfe™
      Votos: 1 - Link respuesta
     
  • Fecha: 22-05-2019 11:56:28 hola si muchas gracias... es que yo busque en internet soy nuevo en esto disculpame por la brutalidad... jejejej pero mira lo puse asi y no me da


    ?>
    <?php
    $fecha1 = new DateTime('fecha_ingreso');
    $fecha2 = new DateTime('fecha_entrega');
    $diff = $fecha1->diff($fecha2);
    ?>

    <tr>
    <td style="font-size: 24px"><?php echo $mostrar['fecha_ingreso'] ?></td>
    <td style="color:#088A08; font-size: 24px"><?php echo $mostrar['fecha_entrega'] ?></td>
    <td ><?php echo $diff->days . ['dias']; ?></td>
    <td style="font-size: 24px"><?php echo $mostrar['opi'] ?></td>
    <td style="color: #FFFFFF; font-size: 24px" bgcolor="<?php echo $colorFila[$mostrar['estado']] ?>"><?php echo $mostrar['estado'] ?></td>
    <td style="font-size: 24px"><?php echo $mostrar['asesor'] ?></td>
    <td style="font-size: 17px"><?php echo $mostrar['detalles'] ?></td>
    <td style="font-size: 24px"><?php echo $mostrar['documento_ent'] ?></td>
    <td style="font-size: 24px"><?php echo $mostrar['no_guia'] ?></td>
    <td style="font-size: 24px"><?php echo $mostrar['transporte'] ?></td>
    </tr>

    <?php



    y este es el error que me sale:
    Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (fecha_ingreso) at position 0 (f): The timezone could not be found in the database' in C:\xampp\htdocs\digital\index.php:64 Stack trace: #0 C:\xampp\htdocs\digital\index.php(64): DateTime->__construct('fecha_ingreso') #1 {main} thrown in C:\xampp\htdocs\digital\index.php on line 64
      Votos: 0 - Link respuesta
     
  • Fecha: 22-05-2019 12:42:31 Por que debes poner la fecha, el campo de fecha que tengas... en tu ejemplo:
    <?php
    $fecha1 = new DateTime($mostrar['fecha_ingreso']);
    $fecha2 = new DateTime($mostrar['fecha_entrega']);
    $diff = $fecha1->diff($fecha2);
    ?>



    y en la tabla pones:
    <td ><?php echo $diff->days; ?> dias</td>


    Como nota: $mostrar['fecha_ingreso'] y $mostrar['fecha_entrega'] deben tener el mismo formato.

    Saludos...

    Stryfe™
      Votos: 0 - Link respuesta
     
  • Fecha: 23-05-2019 11:03:53 Algo asi

    //Hace 1 año 8 meses 27 dias 28 minutos 5 segundos

    date_default_timezone_set('Europe/Madrid');
    $hace = new haceTanto('2010-02-22 18:42:00','s');
    echo 'Hace'.$hace;
    //Hace 1 año 8 meses 27 dias 28 minutos 5 segundos


    <?php
    class haceTanto extends DateTime {
     
        protected $strings = array(
            'y' => array('1 a&ntilde;o', '%d a&ntilde;os'),
            'm' => array('1 mes', '%d meses'),
            'd' => array('1 d&iacute;a', '%d dias'),
            'h' => array('1 hora', '%d horas'),
            'i' => array('1 min', '%d minutos'),
            's' => array('segundos', '%d segundos'),
        );
     
        public $profundidad;
     
        public function __construct( $fecha,$profundidad='i')
        {
            parent::__construct( $fecha );
            $this->profundidad = $profundidad;
     
        }
     
     
        public function __toString() {
    	     try 
    	    {  
    	     	$now = new DateTime('now');
    	        $diff = $this->diff($now);
     
    	        foreach($this->strings as $key => $value){
     
    	            if( ($text .= ' '.$this->getDiffText($key, $diff)) ){
     
    	            }
    	            if($this->profundidad == $key) break;
    	        }
    	        return $text;   
    	    } 
    	    catch(Exception $e) 
    	    {  
    	        trigger_error($e->getMessage(), E_USER_ERROR);  
    	        return '';  
    	    }  
     
     
        }
     
         protected function getDiffText($intervalKey, $diff){
            $pluralKey = 1;
            $value = $diff->$intervalKey;
            if($value > 0){
                if($value < 2){
                    $pluralKey = 0;
                }
                return sprintf($this->strings[$intervalKey][$pluralKey], $value);
            }
            return null;
        }
    }
    ?>
    
      Votos: 0 - Link respuesta
     
  • Fecha: 23-05-2019 11:52:01 hermano milll gracias.. ahi perdonas que estoy todo contento aprendiendo... tal vez sean cosas muy basicas para vos yo lo se.. pero por algo comenzamos....... te puedo molestar con esto mira.. ahora quiero colocar la fecha actual y la fecha de entrega... con el codigo que puse si me saca el valor pero me saca el siguiente error mira:
    Warning: date_timezone_set() expects exactly 2 parameters, 1 given in C:\xampp\htdocs\digital\fecha.php on line 73

    Notice: Undefined index: $fecha_actual in C:\xampp\htdocs\digital\fecha.php on line 75

    y este es el codigo que tengo... enque me equivoque:


    <?php

    date_timezone_set("America/Mexico_City");
    $fecha_actual=date("Y-m-d");
    $fecha3 = new DateTime($mostrar['$fecha_actual']);
    $fecha4 = new DateTime($mostrar['fecha_entrega']);
    $diff2 = $fecha3->diff($fecha4);

    ?>

    <tr>
    <td style="font-size: 24px"><?php echo $mostrar['fecha_ingreso'] ?></td>
    <td style="color:#088A08; font-size: 24px"><?php echo $mostrar['fecha_entrega'] ?></td>
    <td ><?php echo $diff->days; ?> dias</td>
    <td ><?php echo $diff2->days; ?> dias</td>
      Votos: 0 - Link respuesta
     
  • Fecha: 23-05-2019 13:09:49 Saludos terricola...
    Solo lee un poco el error, te dice de parametros, ya que ha de ser referente a objeto.

    datetime.settimezone

    Ahi esta la documentacion oficial con ejemplos, para que puedas revisar ello.

    Con los ejemplos estoy seguro que podras resolver ello.

    Saludos .

    Stryfe™
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión