PHP 8.5.0 Alpha 2 available for testing

IntlDateFormatter::setCalendar

datefmt_set_calendar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::setCalendar -- datefmt_set_calendarDefine el tipo de calendario utilizado por el formateador

Descripción

Estilo orientado a objetos

public IntlDateFormatter::setCalendar(IntlCalendar|int|null $calendar): bool

Estilo procedimental

datefmt_set_calendar(IntlDateFormatter $formatter, IntlCalendar|int|null $calendar): bool

Configura el calendario o el tipo de calendario a utilizar por el formateador.

Parámetros

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.

Valores devueltos

Esta función retorna true en caso de éxito o false si ocurre un error.

Historial de cambios

Versión Descripción
PECL intl 3.0.0 Se hace posible pasar un objeto IntlCalendar.

Ejemplos

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

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top