PHP 8.3.4 Released!

IntlDateFormatter::setCalendar

datefmt_set_calendar

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

IntlDateFormatter::setCalendar -- datefmt_set_calendarEstablecer el tipo de calendario usado por el formateador

Descripción

Estilo orientado a objetos

IntlDateFormatter::setCalendar(mixed $which): bool

Estilo por procedimientos

datefmt_set_calendar(IntlDateFormatter $fmt, mixed $which): bool

Establece el calendario o el tipo de calendario usado por el formateador.

Parámetros

fmt

El recurso del formatedor

which

Puede ser: el tipo de calendario a usar (el predeterminado es IntlDateFormatter::GREGORIAN, el cual también se usa si se especifica null) o un objeto IntlCalendar.

Cualquier objeto IntlCalendar pasado será clonado; no se realizará ninguna modificación al objeto del argumento.

La zona horaria del formateador se mantendrá únicamente si no se pasa un objeto IntlCalendar, de otro modo la nuevo zona horaria será aquella del objeto pasado.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Historial de cambios

Versión Descripción
5.5.0/PECL 3.0.0 Ahora es posible pasar un objeto IntlCalendar.

Ejemplos

Ejemplo #1 Ejemplo de 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
'Ahora el calendario del formateador es : ' . 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
'Ahora el calendario del formateador es : ' . $fmt->getCalendar();
?>

El resultado del ejemplo sería:

El calendario del formateador es : 1
Ahora el calendario del formateador es : 0

Ejemplo #3 Ejemplo con el argumento 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 that the calendar's locale is not used! */
$formatter->setCalendar(IntlCalendar::createInstance(
"America/New_York", "pt_PT@calendar=islamic"));

echo
"después: ", $formatter->format($time), "\n";

El resultado del ejemplo sería:

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