IntlDateFormatter::setCalendar

datefmt_set_calendar

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

IntlDateFormatter::setCalendar -- datefmt_set_calendarSets the calendar type used by the formatter

说锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟�

IntlDateFormatter::setCalendar ( mixed $which ) : bool

锟斤拷锟教伙拷锟斤拷锟�

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

Sets the calendar or calendar type used by the formatter.

锟斤拷锟斤拷

fmt

The formatter resource.

which

This can either be: the calendar type to use (default is IntlDateFormatter::GREGORIAN, which is also used if NULL is specified) or an IntlCalendar object.

Any IntlCalendar object passed in will be cloned; no modifications will be made to the argument object.

The timezone of the formatter will only be kept if an IntlCalendar object is not passed, otherwise the new timezone will be that of the passed object.

锟斤拷锟斤拷值

锟缴癸拷时锟斤拷锟斤拷 TRUE锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
5.5.0/PECL 3.0.0 It became possible to pass an IntlCalendar object.

锟斤拷锟斤拷

Example #1 datefmt_set_calendar() example

<?php
$fmt 
datefmt_create(
    
'en_US',
    
IntlDateFormatter::FULL,
    
IntlDateFormatter::FULL,
    
'America/Los_Angeles',
    
IntlDateFormatter::GREGORIAN
);
echo 
'calendar of the formatter is : ' datefmt_get_calendar($fmt);
datefmt_set_calendar($fmtIntlDateFormatter::TRADITIONAL);
echo 
'Now calendar of the formatter is : ' datefmt_get_calendar($fmt);
?>

Example #2 OO example

<?php
$fmt 
= new IntlDateFormatter(
    
'en_US',
    
IntlDateFormatter::FULL,
    
IntlDateFormatter::FULL,
    
'America/Los_Angeles',
    
IntlDateFormatter::GREGORIAN  
);
echo 
'calendar of the formatter is : ' $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 
'Now calendar of the formatter is : ' $fmt->getCalendar();
?>

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

calendar of the formatter is : 1
Now calendar of the formatter is : 0

Example #3 Example with IntlCalendar argument

<?php
$time 
strtotime("2013-03-03 00:00:00 UTC");
$formatter IntlDateFormatter::create("en_US"NULLNULL"Europe/Amsterdam");

echo 
"before: "$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 
"after:  "$formatter->format($time), "\n";

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

before: Sunday, March 3, 2013 at 1:00:00 AM Central European Standard Time
after:  Saturday, Rabi? II 20, 1434 at 7:00:00 PM Eastern Standard Time

锟轿硷拷