La función IntlCalendar::setTimeZone() es una función incorporada en PHP que se usa para configurar la nueva zona horaria para este calendario. El tiempo se representa en términos de objeto y se conserva en detrimento de los valores del campo de zona horaria.
Sintaxis:
- Estilo orientado a objetos
bool IntlCalendar::setTimeZone( mixed $timeZone )
- Estilo procesal
bool intlcal_set_time_zone( IntlCalendar $cal, mixed $timeZone )
Parámetros: esta función utiliza dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $cal: este parámetro contiene el recurso de IntlCalendar.
- $timeZone: este parámetro contiene la nueva zona horaria que utiliza este calendario.
- NULL: se utilizará la zona horaria predeterminada.
- IntlTimeZone: Se utiliza directamente.
- DateTimeZone: se extraerá el identificador del objeto DateTimeZone y se creará un objeto de zona horaria ICU.
- string: debe ser un identificador de zona horaria de ICU válido.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito y FALSO en caso de error.
El siguiente programa ilustra la función IntlCalendar::setTimeZone() en PHP:
Programa:
<?php // Set the date timezone ini_set('date.timezone', 'Asia/Calcutta'); // Create a DateTime object $calendar = IntlCalendar::fromDateTime('2019-03-21 09:19:29'); // Format the DateTime object echo IntlDateFormatter::formatObject($calendar, IntlDateFormatter::FULL), "\n"; // Create new IntlGregorianCalendar object $calendar->setTimezone(new DateTimeZone('Asia/Singapore')); // Format the DateTime object echo IntlDateFormatter::formatObject($calendar, IntlDateFormatter::FULL), "\n"; // Set the timezone $calendar->setTimeZone('GMT+05:30'); // Format the DateTime object echo IntlDateFormatter::formatObject($calendar, IntlDateFormatter::FULL), "\n"; // Set the timezone $calendar->setTimeZone(IntlTimeZone::getGMT()); // Format the DateTime object echo IntlDateFormatter::formatObject($calendar, IntlDateFormatter::FULL); ?>
Producción:
Thursday, March 21, 2019 at 9:19:29 AM India Standard Time Thursday, March 21, 2019 at 11:49:29 AM Singapore Standard Time Thursday, March 21, 2019 at 9:19:29 AM GMT+05:30 Thursday, March 21, 2019 at 3:49:29 AM GMT
Referencia: https://www.php.net/manual/en/intlcalendar.settimezone.php