santiago - Nombre de zona horaria de PHP para compensar
timezone america buenos aires (3)
¿Cómo haría para convertir un nombre de zona horaria ("Asia / Dubai", "Europa / Andorra", etc.) a un desplazamiento GMT en horas (o incluso segundos, ya que puedo convertirlo desde allí)?
La mayoría de las personas solicitan lo contrario, pero necesito obtener una compensación de zona horaria del nombre de zona horaria provisto por GeoNames.
Me gusta usar PHP Carbon :
$offset = Carbon::now(''Europe/Andorra'')->offsetHours;
Otra opción sería utilizar el método disponible DateTimeZone::getOffset()
, que devuelve el desplazamiento en segundos para la zona horaria en la fecha / hora especificada.
$timezone = new DateTimeZone("Europe/Andorra");
$offset = $timezone->getOffset(new DateTime);
puedes usar lo siguiente
<?php
$timezone = ''Pacific/Nauru'';
$time = new /DateTime(''now'', new DateTimeZone($timezone));
$timezoneOffset = $time->format(''P'');
?>