Función PHP Strtotime

Función PHP Strtotime
El valor de la marca de tiempo UNIX se calcula a partir de 1calle Enero de 1970. El strTotime () es una función PHP incorporada para convertir los valores de fecha y hora legibles por humanos en valores de marca de tiempo UNIX. La forma de usar esta función en PHP para diferentes propósitos se ha mostrado en este tutorial con ejemplos.

Sintaxis:

strtotime (dttime_string, [ts_now]): timestamp | falso

El primer argumento de la función es obligatorio y contiene la cadena de valores de fecha y hora válidos. El segundo argumento es opcional que se utiliza para establecer el valor base para calcular el valor de la marca de tiempo. Devuelve el valor de la marca de tiempo en función del primer valor de argumento.

Requisito previo

Los scripts utilizados en los ejemplos de este tutorial se escriben en base a la versión PHP 8. Haga la siguiente tarea antes de ejecutar los ejemplos de este script.

  1. Instale Apache2 y PHP 8.
  2. Establecer permiso de ejecución para todos los archivos y carpetas en la carpeta/var/www/html donde se almacenarán todos los archivos PHP.

Diferentes usos de la función strtotime ()

Los valores de la marca de tiempo de la fecha y hora particular se pueden calcular de diferentes maneras utilizando la función strTotime (). Los usos de esta función se han mostrado en esta parte de este tutorial.

Ejemplo-1: usos del argumento obligatorio de la función strTotime ()

Cree un archivo PHP con el siguiente script para encontrar la fecha particular calculando el valor de la marca de tiempo utilizando la función strTotime (). Aquí, se han utilizado ocho valores de cadena diferentes de fecha y hora en esta función para generar e imprimir el valor de la marca de tiempo. A continuación, la fecha y el valor de tiempo legible por humanos se imprimirán en función del valor calculado de la marca de tiempo.

// Leer el valor actual de la marca de tiempo
$ Today = strtotime ('ahora');
Echo "El valor de la marca de tiempo de hoy es: $ hoy
";
Echo "La fecha de hoy es:".Fecha ("D-M-Y", $ hoy)."

";
// Lea el valor de la marca de tiempo de ayer
$ prev_day = strTotime ('-1 día');
Echo "El valor de la marca de tiempo de ayer es: $ anterior
";
Echo "La fecha del ayer es:".fecha ("d-m-y", $ prev_day)."

";
// Lea el valor de la marca de tiempo del mañana
$ next_day = strTotime ('+1 día');
echo "El valor de la marca de tiempo del mañana es: $ next_day
";
Echo "La fecha del mañana es:".fecha ("d-m-y", $ next_day)."

";
// Lea el valor de la marca de tiempo del próximo jueves
$ n_day = strtotime ('el próximo jueves');
echo "El valor de la marca de tiempo del próximo jueves es: $ N_day
";
Echo "La fecha del próximo jueves es:".fecha ("d-m-y", $ n_day)."

";
// Lea el valor de la marca de tiempo del martes anterior
$ l_day = strtotime ('el martes pasado');
echo "El valor de la marca de tiempo del martes pasado es: $ L_day
";
Echo "La fecha del último martes es:".fecha ("d-m-y", $ l_day)."

";
// Lea el valor de la marca de tiempo del día futuro
$ Future_Date = strTotime ('+5 años 5 meses 5 días');
Echo "El valor de la marca de tiempo después de 5 años 5 meses y 5 días es: $ Future_Date
";
Echo "La fecha después de 5 años 5 meses y 5 días es:".fecha ("D-M-Y", $ Future_Date)."

";
// Lea el valor de la marca de tiempo de la hora anterior
$ prev_hour = strTotime ('-10 horas 30 minutos 15 segundos');
Echo "El valor de la marca de tiempo antes de 10 horas 30 minutos y 15 segundos es: $ anterior
";
Echo "La fecha antes de 10 horas 30 minutos y 15 segundos es:".fecha ("d-m-y", $ prev_hour)."

";
// Lea el valor de la marca de tiempo del día en particular
$ especific_day = strTotime ('16 de diciembre de 2021 ');
echo "El valor de la marca de tiempo del 16 de diciembre de 2021 es: $ prev_hour
";
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Aquí, el nombre de archivo es strtotime1.php que se almacena por dentro /var/www/html/código carpeta. La salida del script se cambiará en función de la fecha y la hora del sistema operativo.

http: // localhost/code/strtotime1.php

Ejemplo-2: Calcule el valor de la marca de tiempo del formato de fecha válido

Cree un archivo PHP con el siguiente script para verificar la fecha del parámetro de consulta de URL es válido y descubra el valor de la marca de tiempo de esa fecha. Aquí el $ _Get [] La matriz se ha utilizado para leer el valor de los parámetros de consulta de URL llamados 'dt'. El valor de fecha proporcionado dado en el parámetro de consulta de URL es válido o no será verificado por la función preg_match (). Si se proporciona la fecha válida, el valor de la marca de tiempo de la fecha se calculará e imprimirá.

// verifique el valor de la fecha en la URL o no
if (isset ($ _ get ['dt']))

// Leer el valor de la fecha
$ date = $ _get ['dt'];
// verificar el valor de la fecha es válido o no
if (preg_match ('/[0-9] 2-[0-9] 2-[0-9] 4/', $ date)))

// Lea el valor de la marca de tiempo de la fecha
$ tm = strTotime ($ date);
// imprime el valor de la marca de tiempo
eco "

El valor de la marca de tiempo de $ fecha es de $ tm.

";

demás
// Imprimir mensaje de error para formato de fecha no válido
eco "

Formato de fecha no válido.

";

demás
// Imprimir mensaje de error si la fecha no se encuentra en la URL
eco "

No se encuentra el valor de la fecha.

";
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior sin ningún parámetro de consulta. Aquí, el nombre de archivo es strtotime2.php que se almacena por dentro /var/www/html/código carpeta.

http: // localhost/code/strtotime2.php

La siguiente salida aparecerá después de ejecutar el script anterior con el parámetro de consulta llamado 'dt'Con el valor'23-10-2021'.

http: // localhost/code/strtotime2.php?DT = 23-10-2021

La siguiente salida aparecerá después de ejecutar el script anterior con el parámetro de consulta llamado 'dt'Con el valor'23-100-2021'.

http: // localhost/code/strtotime2.php?DT = 23-100-2021

Ejemplo-3: Calcule la diferencia entre dos fechas

Cree un archivo PHP con el siguiente script para averiguar la diferencia entre dos fechas utilizando la función strTotime (). Aquí, se han asignado dos valores de fecha válidos en dos variables. Se han calculado dos valores de marca de tiempo de estas fechas utilizando la función strTotime (). La diferencia de estos valores de marca de tiempo se ha calculado en segundos que se han convertido en los años. El valor convertido se imprimirá después de ejecutar el código.

// Establecer dos valores de fecha
$ date1 = '01 -01-2021 ';
$ date2 = '01 -01-2024 ';
// Calcule la diferencia entre la fecha
$ diff = (strTotime ($ date2) - strTotime ($ date1))/60/60/24/365;
// imprime el valor de diferencia en años
eco "

La diferencia entre dos fechas es $ Diff años

";
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior sin ningún parámetro de consulta. Aquí, el nombre de archivo es strtotime3.php que se almacena por dentro /var/www/html/código carpeta. La diferencia entre '01-01-2021 'y '01-01-2024' es de 3 años que se han imprimido en la salida.

http: // localhost/code/strtotime3.php

Conclusión

El strTotime () es una función muy útil para trabajar con los valores de fecha y hora. Las formas de usar esta función para diferentes fines se han descrito en este tutorial para ayudar al nuevo usuario de PHP a conocer el propósito de usar esta función en el script PHP.