Tecnología

Inicio

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.