IntlDateFormatter
PHP Manual

IntlDateFormatter::setCalendar

datefmt_set_calendar

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

IntlDateFormatter::setCalendar -- datefmt_set_calendarDéfinit le type de calendrier utilisé par le formateur

Description

Style orienté objet

bool IntlDateFormatter::setCalendar ( mixed $which )

Style procédural

bool datefmt_set_calendar ( IntlDateFormatter $fmt , mixed $which )

Configure le calendrier ou le type de calendrier à utiliser par le formateur.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

which

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 clôné ; 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

Version Description
5.5.0/PECL 3.0.0 Il devient possible de passer un objet IntlCalendar.

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($fmtIntlDateFormatter::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"NULLNULL"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


IntlDateFormatter
PHP Manual