Tengo dos fechas, formateadas como "Y-m-d H: i: s". Necesito comparar estas dos fechas y descubrir la diferencia horaria.¿Cómo encuentro la diferencia horaria entre dos fechas en PHP?
Respuesta
Puede convertirlos a marcas de tiempo e ir de allí:
$hourdiff = round((strtotime($time1) - strtotime($time2))/3600, 1);
Dividiendo por 3600 porque hay 3.600 segundos en una hora y utilizando round()
para evitar tener una gran cantidad de cifras decimales.
gracias, eso es lo que estaba intentando, pero estaba tratando de dividir por 24. – mike
Usar 'strtotime()' no es ** la mejor manera ** de administrar las fechas. Considere usar '\ DateTime :: createFromFormat ($ date, 'Y-m-d H: i: s') -> diff ($ dto2)' o una funcionalidad similar para trabajar con fechas (_ + sabemos el formato que esperamos analizar_). Es casi 2015 afuera, ¡hagamos las cosas de la manera más elegante! –
excepto que createFromFormat toma $ formato como el primer parámetro;) '\ DateTime :: createFromFormat ('Y-m-d H: i: s', $ fecha) -> diff ($ dto2)' – Asmodiel
$seconds = strtotime($date2) - strtotime($date1);
$hours = $seconds/60/60;
Puede utilizar strtotime()
para analizar sus secuencias y hacer la diferencia entre los dos de ellos.
Recursos:
Muestra un código. –
El problema es que el uso de estos valores, el resultado es 167 y debe ser 168:
$date1 = "2014-03-07 05:49:23";
$date2 = "2014-03-14 05:49:23";
$seconds = strtotime($date2) - strtotime($date1);
$hours = $seconds/60/60;
Como además de ans aceptado ¡Me gustaría recordar que \DateTime::diff
está disponible!
$f = 'Y-m-d H:i:s';
$d1 = \DateTime::createFromFormat($date1, $f);
$d2 = \DateTime::createFromFormat($date2, $f);
/**
* @var \DateInterval $diff
*/
$diff = $d2->diff($d1);
$hours = $diff->h + ($diff->days * 24); // + ($diff->m > 30 ? 1 : 0) to be more precise
\DateInterval
documentación.
Puede utilizar la interfaz DateTime también -
$d1= new DateTime("06-08-2015 01:33:26pm");
$d2= new DateTime("06-07-2015 10:33:26am");
$interval= $d1->diff($d2);
echo ($interval->days * 24) + $interval->h;
Puede probar esto:
$dayinpass = "2016-09-23 20:09:12";
$today = time();
$dayinpass= strtotime($dayinpass);
echo round(abs($today-$dayinpass)/60/60);
Esto es debido a los días de verano. el horario de verano (Estados Unidos) 2014 comenzó a las 2:00 de la mañana del domingo, 9 de marzo
Se pierde una hora durante el período comprendido entre $ fecha1 = "03/07/2014 05:49:23" a $ date2 = "2014-03-14 05:49:23";
$date1 = date_create('2016-12-12 09:00:00');
$date2 = date_create('2016-12-12 11:00:00');
$diff = date_diff($date1,$date2);
$hour = $diff->h;
- 1. Cómo obtener la diferencia horaria (en horas) entre 2 fechas
- 2. Calcula la diferencia entre dos fechas en PHP
- 3. ¿Cómo encuentro la diferencia horaria entre dos objetos datetime en python?
- 4. C# - ¿Diferencia entre dos fechas?
- 5. calcular la diferencia entre dos fechas
- 6. Diferencia entre dos fechas en MySQL
- 7. Diferencia entre fechas en dos filas consecutivas
- 8. Diferencia entre dos fechas en Python
- 9. Android diferencia entre dos fechas en segundos
- 10. Diferencia, en minutos, entre dos fechas
- 11. ¿Cómo obtengo la diferencia entre dos fechas en JavaScript?
- 12. ¿Cómo verifico la diferencia, en segundos, entre dos fechas?
- 13. Cómo obtener la diferencia horaria entre dos valores
- 14. ¿Cómo encuentro la distancia entre dos puntos?
- 15. ¿Cómo obtener la diferencia entre dos fechas redondeadas a horas
- 16. ¿Cómo puedo obtener la diferencia entre dos fechas bajo bash
- 17. ¿Cómo puedo encontrar la diferencia entre dos fechas usando Javascript
- 18. Calcular la diferencia entre dos fechas en MySQL
- 19. Diferencia de días entre dos fechas
- 20. Diferencia entre fechas en JavaScript
- 21. encuentra la diferencia entre dos fechas en segundos
- 22. Android ¿Cómo obtener la diferencia horaria entre dos zonas horarias en Android?
- 23. ¿Cómo contar días entre dos fechas en PHP?
- 24. Ruby, Rails y la diferencia entre dos fechas
- 25. Diferencia en el tiempo entre dos fechas en Java
- 26. Cómo generar una fecha aleatoria entre dos fechas usando php?
- 27. la sustracción de dos fechas en php
- 28. Obtener el número de días entre dos fechas de NSDate en una zona horaria particular
- 29. Matriz de fechas entre dos fechas
- 30. Shell script para obtener la diferencia en dos fechas
¿Has probado algo? Por ejemplo, podría convertirlos en sellos de tiempo de Unix (segundos) usando 'strtotime', luego restarlos, luego dividir por 3600 para obtener horas – Fanis
Sí, estaba dividiendo por 24 en lugar de 3600. ¡doh! – mike