Use PHP Mktime para crear una cuenta regresiva

Debido a que el parámetro ist_dst utilizado en este ejemplo fue desaprobado en PHP 5.1 y eliminado en PHP 7, no es seguro confiar en este código para obtener resultados precisos en las versiones actuales de PHP. En su lugar, use la configuración date.timezone o la función date_default_timezone_set ().

Si su página web se enfoca en un evento específico en el futuro, como Navidad o su boda, es posible que desee tener un temporizador de cuenta regresiva para que los usuarios sepan cuánto tiempo transcurre hasta que ocurra el evento. Puede hacer esto en PHP usando marcas de tiempo y la función mktime.

La función mktime () se utiliza para generar artificialmente la marca de tiempo para una fecha y hora seleccionadas. Funciona igual que la función time (), excepto que es para una fecha específica y no necesariamente la fecha de hoy.

Cómo codificar el temporizador de cuenta regresiva

  1. Establece una fecha objetivo. Por ejemplo, use el 10 de febrero de 2017. Haga eso con esta línea, que sigue la sintaxis: mktime (hora, minuto, segundo, mes, día, año: ist _dst).
    $ target = mktime (0, 0, 0, 2, 10, 2017);
  2. Establezca la fecha actual con esta línea:
    $ hoy = hora ();
  3. Para encontrar la diferencia entre las dos fechas, simplemente reste:
    $ diferencia = ($ target- $ hoy);
  4. Como la marca de tiempo se mide en segundos, convierta los resultados en las unidades que desee. Por horas, divida por 3600. Este ejemplo usa días, así que divida por 86,400, el número de segundos en un día. Para asegurarse de que el número sea un entero, use la etiqueta int.
    $ días = (int) ($ diferencia / 86400);
  5. Póngalo todo junto para el código final: