(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::setCalendar -- datefmt_set_calendar — Define el tipo de calendario utilizado por el formateador
Estilo orientado a objetos
Estilo procedimental
Configura el calendario o el tipo de calendario a utilizar por el formateador.
formatter
El recurso de formateador IntlDateFormatter.
calendar
Puede ser: el tipo de
calendario a utilizar (por omisión,
IntlDateFormatter::GREGORIAN
, que también es
utilizado si null
es especificado) o un objeto
IntlCalendar.
Cualquier objeto IntlCalendar pasado será clonado; ninguna modificación será realizada sobre el objeto en argumento.
El desplazamiento horario del formateador solo será conservado si un objeto IntlCalendar no es pasado, de lo contrario, el nuevo desplazamiento horario será el del objeto pasado.
Versión | Descripción |
---|---|
PECL intl 3.0.0 | Se hace posible pasar un objeto IntlCalendar. |
Ejemplo #1 Ejemplo con datefmt_set_calendar()
<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'El calendario del formateador es: ' . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt, IntlDateFormatter::TRADITIONAL);
echo 'El calendario es ahora: ' . datefmt_get_calendar($fmt);
?>
Ejemplo #2 Ejemplo orientado a objetos
<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'El calendario del formateador es: ' . $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 'El calendario es ahora: ' . $fmt->getCalendar();
?>
El ejemplo anterior mostrará :
El calendario del formateador es: 1 El calendario es ahora: 0
Ejemplo #3 Ejemplo con argumentos a IntlCalendar
<?php
$time = strtotime("2013-03-03 00:00:00 UTC");
$formatter = IntlDateFormatter::create("en_US", NULL, NULL, "Europe/Amsterdam");
echo "antes: ", $formatter->format($time), "\n";
/* note que la configuración local del calendario no es utilizada! */
$formatter->setCalendar(IntlCalendar::createInstance(
"America/New_York", "pt_PT@calendar=islamic"));
echo "después: ", $formatter->format($time), "\n";
El ejemplo anterior mostrará :
antes: Sunday, March 3, 2013 at 1:00:00 AM Central European Standard Time después: Saturday, Rabiʻ II 20, 1434 at 7:00:00 PM Eastern Standard Time