Foros del Web » Programando para Internet » PHP »

Sacar la diferencia entre dos fechas ?

Estas en el tema de Sacar la diferencia entre dos fechas ? en el foro de PHP en Foros del Web. Hola a todos tengo almacenado en mi base de datos mysql, la fecha de inicio de una publicación, lo que necesito ver es la cantidad ...
  #1 (permalink)  
Antiguo 08/09/2021, 12:27
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 862
Antigüedad: 14 años, 3 meses
Puntos: 7
Pregunta Sacar la diferencia entre dos fechas ?

Hola a todos tengo almacenado en mi base de datos mysql, la fecha de inicio de una publicación, lo que necesito ver es la cantidad de días que queda cuando publico .

Necesitaría sacar la diferencia entre la fecha almacenada y la fecha actual.
no me sale ..
dejo código:

Código PHP:
Ver original
  1. $fecha1= new DateTime("now");
  2. $fecha2= new DateTime($FechaINI);///$FechaINI es la que traigo de la base de datos y esta guardada como "datatime"
  3. $diff = $fecha1->diff($fecha2);
  4.  
  5.  
  6. echo $diff->days . ' dias';
Alguna Solución ?.
Muchas gracias de antemano, saludos a todos.!!!
  #2 (permalink)  
Antiguo 08/09/2021, 22:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.538
Antigüedad: 10 años
Puntos: 968
Respuesta: Sacar la diferencia entre dos fechas ?

Estimado, en el manual se muestra con mucha claridad la manera de hacerlo. Checa el primer ejemplo; es justo lo que necesitas.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 10/09/2021, 11:12
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 862
Antigüedad: 14 años, 3 meses
Puntos: 7
Pregunta Respuesta: Sacar la diferencia entre dos fechas ?

Hola gracias por responder, he sacado los ejemplos y copiado y no me funciona

aca dejo lo que estoy haciendo con codigo y error :

Hola dejo mejor explicado el código

tengo en mi base de datos el campo $ClFechaINI =$reg['ClFechaINI']; // esta almacenado como datatime

quiero obtener la cantidad de días que hay entre ClFechaINI con la fecha actual. he probado muchos ejemplos y me salta error.

Fatal error: Uncaught TypeError: date_diff(): Argument #1 ($baseObject) must be of type DateTimeInterface, bool given in C:\xampp\htdocs
el código es el siguiente:

Código PHP:
Ver original
  1. $datetime1 = date_create('$ClFechaINI)');
  2. $datetime2 = new DateTime("now");
  3. $interval = date_diff($datetime1, $datetime2); // acá marca el error.
  4. echo $interval->format('%R%a días');





Espero que se entienda, muchas gracias por ayudar.
Saludos
  #4 (permalink)  
Antiguo 10/09/2021, 16:25
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.538
Antigüedad: 10 años
Puntos: 968
Respuesta: Sacar la diferencia entre dos fechas ?

¿Qué resultado obtienes si imprimes ambos valores? Según el mensaje de error, el primer argumento que le pasas al método date_diff es booleano.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 13/09/2021, 14:14
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 862
Antigüedad: 14 años, 3 meses
Puntos: 7
Pregunta Respuesta: Sacar la diferencia entre dos fechas ?

Hola, hice lo siguiente para mostrar los datos.. si no es imposible ya que me frena todo el programa...

eses es el dato que me muestra:
DateTime Object ( [date] => 2021-09-13 17:12:34.177815 [timezone_type] => 3 [timezone] => America/Argentina/Cordoba )

error
Fatal error: Uncaught TypeError: date_diff(): Argument #1 ($baseObject) must be of type DateTimeInterface, bool given in C:\xampp\htdocs\__01UNIMEV_ESTEEEE2022\AdMCliente\ clientes\ListFullClient.php:59 Stack trace: #0 C:\xampp\htdocs\__01UNIMEV_ESTEEEE2022\AdMCliente\ clientes\ListFullClient.php(59): date_diff(false, Object(DateTime)) #1 {main} thrown in C:\xampp\htdocs\__01UNIMEV_ESTEEEE2022\AdMCliente\ clientes\ListFullClient.php on line 59


Código PHP:
Ver original
  1. $datetime1 = date_create('$ClFechaINI)');
  2. print_r(   $datetime2 = new DateTime("now"));
  3. print_r(   $interval = date_diff($datetime1, $datetime2));
  4. print_r(   $interval->format('%R%a días'));

es es código..
Alguna Solución?..
Gracias por tu tiempo.
  #6 (permalink)  
Antiguo 13/09/2021, 16:48
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.538
Antigüedad: 10 años
Puntos: 968
Respuesta: Sacar la diferencia entre dos fechas ?

Creo que digitaste mal lo siguiente:

Código PHP:
Ver original
  1. $datetime1 = date_create('$ClFechaINI)');

Hay un cierre de paréntesis de más, y las comillas son innecesarias. Pienso que tendría que quedar así:

Código PHP:
Ver original
  1. $datetime1 = date_create($ClFechaINI);

Asimismo, si estás usando la forma orientada a objetos, sería recomendable que lo hagas también con esa línea:

Código PHP:
Ver original
  1. $datetime1 = new DateTime($ClFechaINI);

Siempre observa y analiza bien el código con el que trabajas, sea que lo hayas creado tú o lo hayas copiado.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 14/09/2021, 10:54
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 862
Antigüedad: 14 años, 3 meses
Puntos: 7
De acuerdo Respuesta: Sacar la diferencia entre dos fechas ?

Hola Alexis88 mil gracias.!!! por ver ese error, estuve mucho tiempo y no me he dado cuenta .. ..
Muchas gracias. enserio.



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