Anuncios

Bienvenidos sean a este post, hoy veremos una función de PHP.

Anuncios

Esta función nos devuelve la diferencia en segundos de una zona horaria con respecto a UTC. Pasemos a ver como es su sintaxis:

date_offset_get(objeto);
Anuncios

Se pasa el objeto DateTime con la fecha a verificar y esta nos devuelva el valor numérico de la diferencia en segundos de la zona horaria en este con respecto a UTC. Un tema a tener en cuenta, este es afectado por si la zona horaria a evaluar tiene horario de verano.

Anuncios

Para entender como funciona, vamos a analizar el siguiente ejemplo:

PHP
<?php
function show($zona, $fecha)
{
$f = date_create($fecha);
date_timezone_set($f, new DateTimeZone($zona));
return date_offset_get($f) . " segundos\n";
}
echo "Invierno España: " . show("Europe/Madrid","2026-01-22");
echo "Verano España: " . show("Europe/Madrid","2026-07-22");
echo "Invierno Argentina: " . show("America/Argentina/Cordoba","2026-07-22");
echo "Verano Argentina: " . show("America/Argentina/Cordoba","2026-01-22");
?>
Anuncios

Como tenemos unas instrucciones que debemos usar varias veces, las llamaremos desde una función. Esta se llama show y recibe dos valores, el primero es para la zona horaria y el segundo es la fecha. En el bloque primero creamos un objeto con la fecha informada y luego establecemos la zona horaria para el objeto anteriormente creado. Observen que para esta función debemos usar un objeto de tipo DateTimeZone con el recibido. Para finalmente, mostrar el resultado de la función aplicado al objeto que generamos anteriormente.

Anuncios

Con esto ya tenemos la función definida. Lo siguiente es usarla cuatro veces donde las primeras dos son para una zona horaria en España (con hora de verano) y los otras dos para Argentina (sin hora de verano). Observen que usamos las mismas fechas pero modificamos el invierno y verano de cada zona. Con todo esto comentado, veamos como es la salida:

$ php date_offset_get.php
Invierno España: 3600 segundos
Verano España: 7200 segundos
Invierno Argentina: -10800 segundos
Verano Argentina: -10800 segundos
$
Anuncios

Observen que nos devolvió los segundos de diferencia con respecto a UTC. Tal como mencionamos anteriormente, si la zona horaria posee hora de verano este influye en el resultado, como se ve en el caso de España.

Anuncios

En resumen, hoy hemos visto a date_offset_get, que es, para que sirve, como se utiliza, los parámetros que podemos utilizar y un ejemplo simple para ver como trabaja. Espero les haya sido de utilidad, les dejo algunas de mis redes sociales para seguirme o recibir una notificacion cada vez que subo un nuevo post:

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50