-
Cómo calcular la diferencia de tiempo con PHP
-
A veces puede que tenga que conocer la diferencia de tiempo entre dos fechas en su sitio web - por ejemplo, si tiene un temporizador de cuenta atrás. PHP tiene varias funciones que devolverán las fechas y horas en diversas formas pero no permite mucha flexibilidad. Mediante la combinación de estas funciones con uno se crea a sí mismo, se puede calcular la diferencia entre dos fechas y horas, guardar los valores de segundos a años en las variables independientes. A continuación, puede editar o visualizar estos valores si lo deseas.
Instrucciones
1 Abrir un archivo HTML y escriba el siguiente código en el elemento "<body>":
<? Php
TIMEDIFF función ($ en primer lugar, $ última) {
Esto abre una etiqueta PHP y define una nueva función llamada "TIMEDIFF" que acepta dos parámetros. Estos serán en forma de dos fechas con un "AAAA-MM-DD HH: MM: SS" formato, permitiendo que las funciones de PHP predefinidas para manipularlos.
2 Escriba lo siguiente:
if ($ primero> $ última) {
$ Tmp = $ última;
$ = $ Durar primera;
$ = $ Tmp primera;
}
Este bloque asegura que, independientemente de si el primer parámetro viene cronológicamente antes o después del segundo parámetro, la función devuelve una diferencia de tiempo positivo.
3 Escriba el siguiente código:
$ FirstTime = strtotime ($ primero);
$ LastTime = strtotime ($ última);
$ = $ Años días = $ = $ horas minutos = 0;
$ segundos = $ $ lastTime- firstTime;
Las dos primeras líneas crean un par de variables de los dos parámetros de fecha y convertir cada uno a un número de segundos transcurridos desde el 1 de Enero 1970 (tiempo Unix), de modo que los valores pueden ser modificados. La tercera línea crea cuatro variables de conteo y los inicializa a cero. La última línea crea una variable que recibe la diferencia en segundos desde la primera fecha de la última fecha.
4 Escriba el siguiente código:
while ($ segundos> = 31536000) {
$ = $ Años años + 1;
$ segundos = $ segundos - 31536000;
}
while ($ segundos> = 86.400) {
$ = $ días días + 1;
$ segundos = $ segundos - 86400;
}
while ($ segundos> = 3600) {
$ = $ Horas horas + 1;
$ segundos segundos = $ - 3600;
}
mientras segundos ($> = 60) {
$ = $ minutos minutos + 1;
$ segundos = $ segundos - 60;
}
Estos bloques de reducir el valor de la variable $ segundos para calcular cómo muchos años, días, horas y minutos han pasado. Debido a que el número de días de cada mes se diferencia, que no es práctico para contar ese número.
5 Escriba lo siguiente:
echo $ años. " años, " . $ día. " días, " . $ hora. "Horas".
$ minutos. " minutos, " . $ segundos. " segundos.";
}
?>
Estas líneas simplemente muestran la diferencia de tiempo al visitante del sitio Web mediante la instrucción de eco y luego cerrar la función TIMEDIFF y la etiqueta PHP.
6 Escriba lo siguiente:
eco TIMEDIFF ( "2011-06-13 12:15:07", "2011-07-09 18:35:15");
eco TIMEDIFF ( "2010-04-16 12:00:00", "2011-04-16 12:00:00");
eco TIMEDIFF ( "2012-12-01 00:00:00", la fecha ( 'Ymd h: i: s ", time ()));
eco TIMEDIFF (fecha ( 'Ymd h: i: s ", time ())," 2012-12-01 00:00:00 ");
Estas cuatro líneas son cuatro ejemplos de la función TIMEDIFF en el trabajo. El primero calcula la diferencia y devuelve cero años, 26 días, seis horas, 20 minutos y ocho segundos. La segunda devuelve exactamente un año. La tercera y cuarta tanto el uso de las funciones de fecha y hora de PHP para crear uno de los parámetros; la hora exacta en el ordenador del visitante. Tenga en cuenta que el paso de los mismos valores, pero en el orden opuesto. Debido a que usted verificó esto al comienzo de la función TIMEDIFF, ambos devuelven los mismos resultados; Sin embargo, estos resultados cambian dinámicamente según la hora y el día que un visitante carga la página.