(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::setCalendar -- datefmt_set_calendar — Définit le type de calendrier utilisé par le formateur
Description
Style orienté objet
public
IntlDateFormatter::setCalendar(IntlCalendar|int|null
$calendar
): bool
datefmt_set_calendar(IntlDateFormatter
$formatter
, IntlCalendar|int|null
$calendar
): bool
Liste de paramètres
-
formatter
-
La ressource de formateur IntlDateFormatter.
-
calendar
-
Peut être : le type de
calendrier à utiliser (par défaut,
IntlDateFormatter::GREGORIAN
, qui est
aussi utilisé si null
est spécifié) ou un objet
IntlCalendar.
Tout objet IntlCalendar passé sera cloné ;
aucune modification ne sera effectuée sur l'objet en argument.
Le décalage horaire du formateur ne sera conservé que si un objet
IntlCalendar n'est pas passé, sinon,
le nouveau décalage horaire sera celui de l'objet passé.
Valeurs de retour
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Historique
Exemples
Exemple #1 Exemple avec datefmt_set_calendar()
<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'Le calendrier du formateur est : ' . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt, IntlDateFormatter::TRADITIONAL);
echo 'Le calendrier est maintenant : ' . datefmt_get_calendar($fmt);
?>
Exemple #2 Exemple orienté objet
<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'Le calendrier du formateur est : ' . $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 'Le calendrier est maintenant : ' . $fmt->getCalendar();
?>
L'exemple ci-dessus va afficher :
Le calendrier du formateur est : 1
Le calendrier est maintenant : 0
Exemple #3 Exemple avec des arguments à IntlCalendar
<?php
$time = strtotime("2013-03-03 00:00:00 UTC");
$formatter = IntlDateFormatter::create("en_US", NULL, NULL, "Europe/Amsterdam");
echo "avant : ", $formatter->format($time), "\n";
/* notez que la locale du calendrier n'est pas utilisée ! */
$formatter->setCalendar(IntlCalendar::createInstance(
"America/New_York", "pt_PT@calendar=islamic"));
echo "après : ", $formatter->format($time), "\n";
L'exemple ci-dessus va afficher :
avant : Sunday, March 3, 2013 at 1:00:00 AM Central European Standard Time
après : Saturday, Rabiʻ II 20, 1434 at 7:00:00 PM Eastern Standard Time
Voir aussi
- datefmt_get_calendar() - Lit le calendrier utilisé par l'objet IntlDateFormatter
- datefmt_get_calendar_object() - Récupère une copie de l'objet formateur du calendrier
- datefmt_create() - Crée un formateur de date