elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  No me dice la diferencia de horas entre una fecha y otra
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No me dice la diferencia de horas entre una fecha y otra  (Leído 469 veces)
SrTrp

Desconectado Desconectado

Mensajes: 269


Script/C#


Ver Perfil
No me dice la diferencia de horas entre una fecha y otra
« en: 15 Diciembre 2018, 04:13 am »

Tengo 2 fechas unix pero quiero encontrar la diferencia entre horas de cada una pero no me da.
quiero obtener cuantas horas faltan para la fecha $ft pero me marca que faltan 0.
este es mi codigo
Código
  1. $ft=strtotime($aux);//la variable aux es un string con una fecha unix
  2.              $ft= new DateTime($ft);
  3.  
  4.              $ac= new DateTime("now");
  5.              $intervalo = $ac->diff($ft);
  6. echo $intervalo->format(' %H horas');
  7.  


« Última modificación: 19 Diciembre 2018, 04:48 am por SrTrp » En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.564



Ver Perfil
Re: No me dice la diferencia de horas entre una fecha y otra
« Respuesta #1 en: 15 Diciembre 2018, 05:51 am »

Saludos,

- Si estás trabajando directamente con fechas Unix, lo más conveniente es:

Código
  1. <?php
  2.  
  3.  $f1 = time() - 3600; // Fecha/Hora actual Unix - 1 hora
  4.  $f2 = time();        // Fecha/Hora actual Unix
  5.  
  6.  $f1f = date("Y-m-d h:i:s", $f1); // Formateando la Fecha/Hora
  7.  $f2f = date("Y-m-d h:i:s", $f2); // a un formato entendible
  8.  
  9.  echo "\$f1 = $f1 ($f1f) <br>"; // Mostrando el formato Unix y
  10.  echo "\$f2 = $f2 ($f2f) <br>"; // el formato entendible
  11.  
  12.  $intervalo = ($f2 - $f1) / 3600; // Calcula la diferncia en horas
  13.  
  14.  echo "Diferencia = $intervalo horas"; // Muestra la diferencia
  15.  
  16.  // El formato Unix muestra la fecha/hora en segundos, por esto
  17.  // se puede hacer calculos matematicos sencillos para obtener
  18.  // dias (/86400 seg), horas (/3600 seg), minutos (/60 seg), etc.
  19.  
  20. ?>

Código:
$f1 = 1544845397 (2018-12-15 03:43:17)
$f2 = 1544848997 (2018-12-15 04:43:17)
Diferencia = 1 horas


En línea

SrTrp

Desconectado Desconectado

Mensajes: 269


Script/C#


Ver Perfil
Re: No me dice la diferencia de horas entre una fecha y otra
« Respuesta #2 en: 18 Diciembre 2018, 06:29 am »

Saludos,

- Si estás trabajando directamente con fechas Unix, lo más conveniente es:

Código
  1. <?php
  2.  
  3.  $f1 = time() - 3600; // Fecha/Hora actual Unix - 1 hora
  4.  $f2 = time();        // Fecha/Hora actual Unix
  5.  
  6.  $f1f = date("Y-m-d h:i:s", $f1); // Formateando la Fecha/Hora
  7.  $f2f = date("Y-m-d h:i:s", $f2); // a un formato entendible
  8.  
  9.  echo "\$f1 = $f1 ($f1f) <br>"; // Mostrando el formato Unix y
  10.  echo "\$f2 = $f2 ($f2f) <br>"; // el formato entendible
  11.  
  12.  $intervalo = ($f2 - $f1) / 3600; // Calcula la diferncia en horas
  13.  
  14.  echo "Diferencia = $intervalo horas"; // Muestra la diferencia
  15.  
  16.  // El formato Unix muestra la fecha/hora en segundos, por esto
  17.  // se puede hacer calculos matematicos sencillos para obtener
  18.  // dias (/86400 seg), horas (/3600 seg), minutos (/60 seg), etc.
  19.  
  20. ?>

Código:
$f1 = 1544845397 (2018-12-15 03:43:17)
$f2 = 1544848997 (2018-12-15 04:43:17)
Diferencia = 1 horas
Gracias ya estoy en ello solo que tengo un detalle no me crea como fecha una variable que tengo con la fecha unix me la asigna vacia al momento de hacerle el strtotime() imprimo antes de hacerle el strtotime y si tiene valor.
Código
  1. $obtere1 = "SELECT * FROM users WHERE id='$idmajicd'";
  2.            $obtere2 = $link->query($obtere1);
  3.            $obtere3 = $obtere2->fetch_array();
  4.  
  5.              $aux = $obtere3['tiempo'];
  6.              $actual =strtotime($aux);
  7.  
  8.  
  9.            $f1 = strtotime($aux); // Fecha/Hora actual Unix - 1 hora
  10.            $f2 = strtotime("now");        // Fecha/Hora actual Unix
  11.  
  12.            $f1f = date("Y-m-d h:i:s", $f1); // Formateando la Fecha/Hora
  13.            $f2f = date("Y-m-d h:i:s", $f2); // a un formato entendible
  14.            echo "\$f1 = $f1 ($f1f) <br>"; // Mostrando el formato Unix y
  15.            echo "\$f2 = $f2 ($f2f) <br>"; // el formato entendible
  16.  
  17.            $intervalo = ($f1 - $f2) / 3600; // Calcula la diferncia en horas
  18.  
  19.            echo "Diferencia = $intervalo horas"; // Muestra la diferencia
  20.  
En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.564



Ver Perfil
Re: No me dice la diferencia de horas entre una fecha y otra
« Respuesta #3 en: 19 Diciembre 2018, 01:49 am »

- strtotime convierte un String con formato de fecha a un Integer fecha UNIX, en tu caso tu fecha ya es tipo UNIX.

- Si quieres convertir una fecha UNIX a una fecha UNIX :xD utilizando strtotime, primero tienes que formatear tu fecha Unix de entrada a un formato  de fecha String, esto lo puedes hacer con date("formato", Fecha_UNIX):

Código
  1. <?php
  2.  
  3.  $aux = "1545179382";
  4.  $actual = strtotime(date("Y-m-d h:i:s", $aux));
  5.  
  6.  echo $actual;
  7.  
  8. ?>
En línea

SrTrp

Desconectado Desconectado

Mensajes: 269


Script/C#


Ver Perfil
Re: No me dice la diferencia de horas entre una fecha y otra
« Respuesta #4 en: 19 Diciembre 2018, 04:48 am »

Ahh cierto XD pensaba que al momento que extraia la información de la BD pensaba que lo almacenaba como string X_X
Me has salvado la vida gracias  ;-)  ;-)  ;-)  ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Batch] (IF diferencia equ y == ) (SET /A Diferencia entre %v% y v)
Scripting
0x0309 1 5,727 Último mensaje 2 Mayo 2009, 22:48 pm
por M a t t
Calcular dias entre Fecha A y Fecha B « 1 2 »
.NET (C#, VB.NET, ASP)
Braayhaan 19 10,274 Último mensaje 22 Julio 2010, 15:23 pm
por MANULOMM
diferencia entre una etiqueta y otra
Desarrollo Web
javierr 1 1,385 Último mensaje 11 Enero 2011, 14:02 pm
por madpitbull_99
No hay ninguna diferencia entre Windows Vista y Windows 8, dice un ejecutivo ...
Noticias
wolfbcn 0 1,294 Último mensaje 10 Marzo 2013, 02:00 am
por wolfbcn
Ver horas de diferencia de una fecha y otra..
PHP
SrTrp 2 572 Último mensaje 26 Agosto 2018, 07:25 am
por SrTrp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines