Tecnología

Inicio

La diferencia en segundos entre dos fechas en PHP

La diferencia en segundos entre dos fechas en PHP


PHP ha crecido desde la caja de herramientas personal de un solo desarrollador web en un lenguaje interpretado de propósito general, con todas las funciones utilizado por muchos sitios web populares en todo el mundo. PHP se utiliza para procesar texto, sonido e imágenes; manipular bases de datos y administrar los servidores web, así como la creación de páginas web. PHP tiene una amplia gama de funciones para la fecha y los datos de tiempo; incluso hay funciones para calcular la salida y la puesta del sol por un lugar y la fecha específica.

Función Tiempo de PHP

La función de PHP tiempo () devuelve la hora actual como el número de segundos que han transcurrido desde el inicio de la era de UNIX a la medianoche, 1 de Enero, 1970, hora GMT; Esta fecha también se conoce como el principio de la época Unix. La función devuelve un número entero que se puede agregar, resta, multiplica y divide el programador requiere. Por ejemplo, para calcular el número de horas de la UNIX Epoch hasta ahora, dividir el resultado de la función de tiempo () por 60:

<? Php

$ Segundos = tiempo ();

echo 'Horas de la época Unix =' $ segundos / 60.;

?>

Convertir fechas con el strtotime () Función

El strtotime función de PHP () convierte una fecha con formato como una cadena en el número de segundos que han pasado desde que comenzó la época Unix; la función strtotime () puede aceptar fácil de entender cadenas como parámetros. Por ejemplo, strtotime ( "ahora"), se obtienen los mismos resultados que la función time (). La aplicación de strtotime ( "+ 1 día") devuelve la hora actual más un día, o 86.400 segundos. Además, como el tiempo (), strtotime () devuelve un número entero que puede ser usado en los cálculos posteriores.

El cálculo de segundos entre dos fechas

El tiempo en segundos entre dos fechas se calcula mediante el formateo de cada fecha como una cadena y la aplicación de la función strtotime (); restar un resultado de la otra da la diferencia en segundos. Para lograr esto, formatear las cadenas de fecha como "Día Mes Año." El siguiente código imprimirá el número de segundos transcurridos entre el 11 de agosto de 2001 y 5 de mayo 2011:

<? Php

$ NumberOfSeconds = strtotime ( "5 may 2011") - strtotime ( »11 Ago 2001»);

echo "Número de segundos entre las fechas". numberOfSeconds $;

?>

Fecha Validación requerida para strtotime ()

La función strtotime () no realiza comprobaciones de error; si se introduce una fecha no válida, la información no válida puede resultar. Por ejemplo, la declaración strtotime ( »29 de febrero de 2011") devolverá el mismo resultado que strtotime ( "1 de marzo de 2011"). El tiempo transcurrido es correcto, sin embargo, el resultado no tiene sentido ya que el 2011 no fue un año bisiesto. PHP tiene la función checkdate () para comprobar la validez de las fechas gregorianas. Checkdate (2, 29, 2011) devolvería el valor booleano "falsa".