¿Cómo calcular la diferencia de minutos entre dos fechas y horas en PHP?
270
Resta el pasado más uno del futuro más uno y divide entre 60.
Los tiempos se realizan en formato Unix, por lo que son solo un gran número que muestra la cantidad de segundos January 1, 1970, 00:00:00 GMT
Las respuestas anteriores son para versiones anteriores de PHP. Use la clase DateTime para hacer cualquier cálculo de fecha ahora que PHP 5.3 es la norma. P.ej.
$ since_start es un objeto DateInterval . Tenga en cuenta que la propiedad days está disponible (porque usamos el método diff de la clase DateTime para generar el objeto DateInterval).
El código anterior generará:
1837 días en total
5 años
0 meses
10 días
6 horas
14 minutos
2 segundos
Para obtener el número total de minutos:
Esto generará:
2645654 minutos
Cuál es el número real de minutos que han pasado entre las dos fechas. La clase DateTime tendrá en cuenta el horario de verano (dependiendo de la zona horaria) donde la "forma antigua" no lo hará. Lea el manual sobre Fecha y hora http://www.php.net/manual/en/book.datetime.php
fuente
inSeconds()
o similar, ahora es repetición de código en todas partes donde necesito calcular la diferencia en segundos.$dateFrom = new DateTime('2007-09-01 04:10:58'); $dateTo = new DateTime('2012-09-11 10:25:00'); echo ($dateTo->getTimestamp()-$dateFrom->getTimestamp())/60 ;
strtotime
respuesta anterior? Este parece ser un caso de OOP cuando el procedimiento es AL MENOS como una solución válida (y considerablemente más concisa).Aquí está la respuesta:
fuente
/ 60,2
medios: dividir entre sesenta, redondear a los dos decimales más cercanos.strtotime
puede ser obsoleto pero no es poco confiable si lo usa correctamente. Es lógico que necesite trabajar con formatos de fecha consistentes para poder leer (o analizar) las fechas correctamente. MiraISO 8601
y no culpes a las herramientas: =)fuente
sleep
para calcular la diferencia de fecha?Funcionó en mis programas, estoy usando
date_diff
, puedes consultar eldate_diff
manual aquí .Obtienes resultados de lo que quieres.
fuente
Otra forma con la zona horaria.
fuente
$days = $interval->format('%d');
y la diferencia es($days * 1440 + $hours * 60 + $minutes)
. Por meses, años => misma lógicaEscribí esta función para uno mi sitio de blog (diferencia entre una fecha pasada y la fecha del servidor). Te dará una salida como esta
"Hace 49 segundos", "Hace 20 minutos", "Hace 21 horas", etc.
He usado una función que me daría la diferencia entre la fecha pasada y la fecha del servidor.
Guárdelo como un archivo suponga "date.php". Llame a la función desde otra página como esta
Por supuesto, puede modificar la función para pasar dos valores.
fuente
Creo que esto te ayudará
fuente
$minutes = floor(($seconds/60)%60);
fuente
Una versión más universal que devuelve resultados en días, horas, minutos o segundos, incluidas fracciones / decimales:
fuente
Así es como mostré "xx times ago" en php> 5.2 ... aquí hay más información sobre el objeto DateTime
fuente
Salida:
fuente
Resta los tiempos y divide entre 60.
Aquí hay un ejemplo que calcula el tiempo transcurrido
2019/02/01 10:23:45
en minutos:fuente
Mi solución para encontrar la diferencia entre dos fechas está aquí. Con esta función puede encontrar diferencias como segundos, minutos, horas, días, años y meses.
Puedes desarrollar esta función. Lo probé y funciona para mí. La salida del objeto DateInterval está aquí:
Uso de la función:
$ date = la fecha pasada, $ diff = tipo, por ejemplo: "minutos", "días", "segundos"
Buena suerte.
fuente
Esto ayudará....
fuente
Encontré muchas soluciones pero nunca obtuve la solución correcta. Pero he creado un código para encontrar minutos, compruébalo.
Da salida en horas y minutos, por ejemplo 01 hora 02 minutos como 01:02
fuente